如何在代码后端运行无限循环时获取响应式GUI?PyQT
如果你有一个函数在后台一直不停地运行一个无限循环,那么你的图形界面(GUI)怎么可能会有反应呢?因为它一直在等这个循环结束,这样一来,界面就变得没法用了。那在PyQT中是怎么解决这个问题的呢?
2 个回答
0
你可以在一个叫做QThread的地方运行那些不需要图形界面的代码。这样,你的图形界面就不会卡住,依然可以正常使用。
如果你想学习QT中的线程使用,可以查看这个教程:
http://doc.trolltech.com/4.4/threads.html
关于Qt的线程类(QThread)的详细说明,可以在这个链接找到:
http://doc.trolltech.com/4.4/qthread.html#details
这两个链接都是关于C++的文档,但即使你在用PyQt,它们也很有用,尤其是当PyQt的文档不够详细的时候。
4
使用线程。
在Qt中,他们使用一种叫做 信号和槽 的机制。我自大学以来就没用过Qt,但这里有很多不错的资源可以参考:
PyQt维基百科: 线程、信号和槽
还有这个相关的StackOverflow帖子: 在PyQt应用中使用Qt线程还是Python线程? 或者