gpt4 book ai didi

c - 在 GtkScrolledWindow 或 GtkEventBox 上绘画

转载 作者:太空狗 更新时间:2023-10-29 15:41:28 33 4
gpt4 key购买 nike

使用 GTK,我试图在 GtkScrolledWindow< 中包含的 GtkTextView 的一角覆盖“更多”提示(但它也可以是任何绘图对象)/。我在处理程序中为 TextView 的 expose 信号绘制提示。它有效,但是当我滚动窗口时,我得到了伪像:提示与 TextView 的内容一起移动,而不是被删除。

为了消除伪影,我在每次滚动后触发重绘。这主要是有效的,但当您快速滚动时,您仍然可以看到提示上下跳动。有什么办法可以防止这种情况发生吗?如果提示只是“ float ”在 TextView 的顶部,那就太好了。

我尝试将滚动窗口包含在 GtkEventBox 中并在其上绘制提示,但这也不起作用;滚动条和 TextView 始终覆盖提示,即使您将事件框的窗口设置在其子窗口的前面也是如此。

更新

如果我将 GtkEventBox 的公开回调与 g_signal_connect_after() 连接,那么它将在 GtkScrolledWindow 的公开回调之后被调用,并且GtkTextView。 TextView 仍然绘制在事件框上。我认为这是因为滚动是异步发生的。有人知道如何防止我的绘图被覆盖吗?

另一个更新

所以我想我真正需要的是在异步滚动完成时连接到的信号。如果我能找出那是什么时候,那么我就可以在 GtkEventBox 上触发另一个公开事件。如何在滚动完成时收到通知?

最佳答案

使用弹出窗口作为提示。这应该可以避免滚动工件的所有问题。

关于c - 在 GtkScrolledWindow 或 GtkEventBox 上绘画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2659026/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com