首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Gtk+2中查找何时验证了GtkWidget

如何在Gtk+2中查找何时验证了GtkWidget
EN

Stack Overflow用户
提问于 2016-11-08 13:49:37
回答 1查看 32关注 0票数 0

我需要知道在我更改了GtkWidget的内容(安排一个重绘)之后,它什么时候被重绘和验证的。

是不是重绘完成了,还是需要等待更多时间才能重绘。

EN

回答 1

Stack Overflow用户

发布于 2016-11-10 14:43:44

绕过所需内容的方法是延迟滚动,直到GTK知道滚动区域有多大。最简单的方法可能是使用g_idle_add()。当没有其他任务需要完成时,添加到其中的回调将按优先级顺序执行。GTK确实以高优先级使用空闲函数来执行其重绘,但对于您来说,默认优先级应该是可以的。

代码语言:javascript
复制
gboolena my_delayed_function(gpointer user_data)
{
    // The function that does the scroll goes here.

    return FALSE;
}

void my_function_that_shows_something()
{
    // Do some drawing.

    // ...

    // Schedule a scroll.
    g_idle_add(my_delayed_function, NULL);
}

注意,您必须从该回调中返回FALSE,否则它将被重复调用。

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

https://stackoverflow.com/questions/40479868

复制
相关文章

相似问题

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