我正在Qt中编写一个小应用程序(使用Python中的PySide),它广泛使用QGraphicsView并显示动画(有点)。有几个按钮可以启动/停止/暂停以及其他一些小部件。
起初,我认为我应该使用QThread处理图形并将信号发送到主线程到QGraphicsScene等,所以我开始实现它。它工作,但我对它不是很满意 - 我尝试了几种不同的方式,但我认为我过于复杂,信号/插槽机制和锁定QMutexes甚至没那么快。
然后(我是PySide的新手),我在文档中找到了processEvents()
方法。我尝试实现它,它按照我想要的方式工作,它快速而简单。
现在我正在使用它,一切都在主线程上完成,GUI响应。
我的问题是:以这种方式使用该方法是错误的吗?我应该坚持使用QThreads吗?
这些问题与这些问题有关......
How to make Qt work when main thread is busy?
Should I use QCoreApplication::processEvents() or QApplication::processEvents()?
......其他人说不应该使用它。