首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GtkScrolledWindow或GtkEventBox上的绘画

GtkScrolledWindow或GtkEventBox上的绘画
EN

Stack Overflow用户
提问于 2010-04-17 16:05:35
回答 1查看 689关注 0票数 4

使用GTK,我试图在包含在GtkTextView中的GtkScrolledWindow的角落中覆盖一个“更多”的提示符(但也可以是任何绘图对象)。我在处理程序中为文本视图的expose信号绘制提示符。它可以工作,但是当我滚动窗口时会得到工件:提示符与文本视图的内容一起移动,而不是擦除。

为了摆脱工件,我在每个滚动后触发一次重绘。这主要是可行的,但当您快速滚动时,仍然可以看到提示符上下跳。有什么办法可以防止这种情况发生吗?如果提示符只是“浮动”在文本视图的顶部,那就太好了。

我尝试将滚动窗口封装在GtkEventBox中,并在上面绘制提示符,但这也不起作用;滚动条和文本视图总是在提示符上绘制,即使设置事件框的窗口在子窗口前面时也是如此。

更新

如果我将GtkEventBox的公开回调与g_signal_connect_after()连接起来,那么它将在GtkScrolledWindowGtkTextView的公开回调之后调用。文本视图仍然会绘制事件框。我认为这是因为滚动是异步发生的。有谁知道我如何防止我的绘图被覆盖?

另一个更新

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-02 21:54:23

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2659026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档