在GtkScrolledWindow或GtkEventBox上绘画

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

为了消除伪影,我在每次滚动后触发重绘。 这大部分都有效,但是当你快速滚动时,你仍然可以看到提示上下跳动。 有什么办法可以防止这种情况吗? 如果提示只是“浮动”在文本视图的顶部,那将是很好的。

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

UPDATE

如果我使用g_signal_connect_after()连接GtkEventBox的公开回调,那么在GtkScrolledWindowGtkTextView的公开回调之后调用它。 尽管文本视图仍然覆盖了事件框。 我认为这是因为滚动是异步发生的。 有人知道如何防止我的图画被覆盖吗?

另一个更新

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

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