Qt Qapplication-移动到线程';我不能在Windows上工作

Qt Qapplication-移动到线程';我不能在Windows上工作,qt,Qt,大体上,我在我创建的线程中创建一个QApplication,然后,根据用户(来自cin)的命令,我想对我在线程中创建的QApplication实例使用回调。 QaplApplication的创建发生在一个名为“StartQtThread”的workerthread上,我的主函数(我在其中获取命令)是主线程 我的问题是来自主线程的命令在qapplication上不起作用。 例如:如果用户输入“z”,我无法放大QApplication中的地图。因为我在主线上,所以什么都没发生。 我试着使用我的放大功

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

我的问题是来自主线程的命令在qapplication上不起作用。 例如:如果用户输入“z”,我无法放大QApplication中的地图。因为我在主线上,所以什么都没发生。 我试着使用我的放大功能,从“StartQtThread”线程开始,它可以工作

尝试从主线程使用“moveToThread(qApp->thread())”函数,但当前线程未被更改


有人知道如何更改吗?

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

您不能将GUI对象移动到不同的线程。谢谢@drescherjm,但这没有多大意义。。我只希望插槽的触发器来自cin,而不是gui。真的不可能吗?为什么你以前没告诉我?是否允许您使用第三方库?根据帮助,qxt的
QxtStdio
完全满足您的需要。链接:信号和插槽跨线程工作。虽然处理方式不一样。信号被推送到目标线程上的消息队列,而不是直接执行。