1

我有一个带有列和值的 gtktree。我还有一个带有 gtkmenuitem 的弹出菜单:“刷新”。

刷新事件做了两件事:

  • 重新填充我的 gtktree
  • 执行查询。

查询不是立即的,大约需要 5 秒。为什么我只能在查询 5 秒后才能看到树的更新?我想立即更新 gtktree,我不明白更新的延迟。

4

1 回答 1

2

如果您正在进行长时间的计算,则程序正忙于计算,没有时间更新 GUI。要解决此问题,请确保在查询的“主循环”中执行以下代码(如果有这样的事情):

while(gtk_events_pending())
    gtk_main_iteration();

如果您的查询没有循环,例如如果它完全在外部库中运行,您将不得不按照 Will 的建议在单独的线程中运行它。

于 2011-09-21T18:23:31.093 回答