gpt4 book ai didi

ruby - tk 事件支出?

转载 作者:数据小太阳 更新时间:2023-10-29 08:01:39 25 4
gpt4 key购买 nike

如何在按钮回调例程内部进行一些计算时刷新 tk gui?

例程需要很长时间,用户希望看到一些进展。

需要一些方法来重绘屏幕/寻找取消按钮。

在 gtk 中是这样的:

/* computation going on */
...
while (gtk_events_pending ())
gtk_main_iteration ();
...
/* computation continued */

最佳答案

与该 GTK 代码片段等效的是 update 方法(任何小部件的)。在内部,它几乎做完全相同的事情(即,它处理事件直到没有更多事情可做,但不会等待之后发生任何事情)。

请注意,update 引入了对您的回调进行重入调用的可能性;如果一个事件快速连续发生两次(在 GUI 代码中很容易发生),那么最终可能会在它们内部运行。大多数时候你可能会侥幸逃脱,但很容易惹上麻烦。引入某种互锁(例如,在处理命令时禁用按钮,这也是一个很好的视觉隐喻)是解决此问题的好方法。

关于ruby - tk 事件支出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7103047/

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