Python QML是否与多线程/异步调用兼容?

Python QML是否与多线程/异步调用兼容?,python,c++,qt,pyqt,qml,Python,C++,Qt,Pyqt,Qml,我正在QML中构建一个UI,目前只处理UI逻辑,而将应用程序逻辑留待以后处理。我有点担心我所讨论过的关于多线程和异步与UI中的同步代码和慢度的所有讨论,我想确保在以后添加应用程序逻辑时,QML不会因为强制使用单线程异步代码而阻碍我前进和减慢我的速度 也许这听起来很可笑,但我知道我对非web GUI工作是全新的。我来自可爱的JS世界,在那里所有的UI事件都是异步和非阻塞的 有没有人有过这种经验,在Python或C++中? < P>这里你可以找到几乎为你准备好的答案: 简而言之,您可以在QML端使用

我正在QML中构建一个UI,目前只处理UI逻辑,而将应用程序逻辑留待以后处理。我有点担心我所讨论过的关于多线程和异步与UI中的同步代码和慢度的所有讨论,我想确保在以后添加应用程序逻辑时,QML不会因为强制使用单线程异步代码而阻碍我前进和减慢我的速度

也许这听起来很可笑,但我知道我对非web GUI工作是全新的。我来自可爱的JS世界,在那里所有的UI事件都是异步和非阻塞的


有没有人有过这种经验,在Python或C++中?

< P>这里你可以找到几乎为你准备好的答案:

简而言之,您可以在QML端使用WorkerScript,所有功能都是用JavaScript/QML异步完成的(但不幸的是,我找不到删除/停止单独的工作线程的方法)


其他选择是使用Qt的
QThread
。在这里阅读关于Qt中的多线程的内容:,以及我最喜欢的关于Qt的书,这本书在您的案例中非常有用:)。然后将线程暴露于QML。请参阅有关将C++类暴露到QML的情况:../P>,即使在使用QML的UI时,也可以使用线程在单独的线程中执行诸如数据库操作、打印等耗时的任务。我以前做过这件事。在渲染线程中,您应该做一些事情,比如在QWidget上绘制。