0

在 main 中,我在我创建的线程中创建一个 QApplication,然后,根据来自用户(来自 cin)的命令,我想在我在线程中创建的 QApplication 实例上使用回调。QApllication 的创建发生在一个名为“StartQtThread”的工作线程上,我在其中获取命令的主函数是主线程。

我的问题是我来自主线程的命令不适用于 qapplication。例如:如果用户输入“z”,我无法在 QApplication 中的地图上放大。总线,因为我在主线程上没有任何反应。我尝试使用“StartQtThread”线程中的放大功能,它可以工作。

尝试使用主线程中的“moveToThread(qApp->thread())”函数,但当前线程没有被更改。

任何人都知道我该如何改变它?

4

1 回答 1

1

thread->moveToThread(obj)将对象obj移动到线程thread。代码moveToThread(qApp->thread())将主线程的对象移动到另一个线程(这有点奇怪)。GUI 只能在主线程中工作。

于 2013-04-07T08:32:23.637 回答