2024-09-29 01:21:47 发布
网友
我正在用GTK2(技术上是pyGTK)编写一个应用程序,并将执行一些长时间的操作。在
如果我在主线程中执行长操作(这不是一个好主意),应用程序将变得无响应。在
其中理想的部分是阻止用户修改文本输入小部件,但不希望的部分是窗口不会重新绘制自己。在
有别的办法吗?在
如果GUI在昂贵的过程中不需要用户交互,那么就没有理由不能在主线程中。您仍然可以在循环中手动更新UI(重新绘制、处理窗口移动/调整大小等)
"sensitive"
widget.set_sensitive(False)
n
while gtk.events_pending(): gtk.main_iteration()
如果您打算使用线程,那么ergosys的注释以及PyGTK F.A.Q.的链接应该会有所帮助。您还应该阅读GTK+参考文档中的Threads。在
如果GUI在昂贵的过程中不需要用户交互,那么就没有理由不能在主线程中。您仍然可以在循环中手动更新UI(重新绘制、处理窗口移动/调整大小等)
"sensitive"
属性设置为False来禁用它。widget.set_sensitive(False)
n
iteralion)期间,用while gtk.events_pending(): gtk.main_iteration()
更新UI。在如果您打算使用线程,那么ergosys的注释以及PyGTK F.A.Q.的链接应该会有所帮助。您还应该阅读GTK+参考文档中的Threads。在
相关问题 更多 >
编程相关推荐