在Qt中使用processEvents()

时间:2015-03-24 15:11:12

标签: python multithreading qt pyside

我正在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()?

......其他人说不应该使用它。

0 个答案:

没有答案