主线程上的Qt4子线程编辑Gui

主线程上的Qt4子线程编辑Gui,qt4,qt4.7,Qt4,Qt4.7,我有一个tablewidget,它需要附加来自子线程的数据 我发现这个错误,在GUI线程之外使用pixmaps是不安全的。在c#中,我使用dispatcher告诉主线程将数据附加到gui对象中 我想有一些东西是如何接近这一点的?Am使用qt4.7 我在父对象中创建了一个槽,在线程对象中创建了一个信号。。来自子线程的发射信号,用于向父线程中的插槽发送信号。但信号没有发射。当我执行像so object->run()这样的方法时;(即来自主线程)它工作正常。。但是当我从thread对象->start(

我有一个tablewidget,它需要附加来自子线程的数据

我发现这个错误,在GUI线程之外使用pixmaps是不安全的。在c#中,我使用dispatcher告诉主线程将数据附加到gui对象中

我想有一些东西是如何接近这一点的?Am使用qt4.7 我在父对象中创建了一个槽,在线程对象中创建了一个信号。。来自子线程的发射信号,用于向父线程中的插槽发送信号。但信号没有发射。当我执行像so object->run()这样的方法时;(即来自主线程)它工作正常。。但是当我从thread对象->start()执行它时;信号没有被触发。。我需要用一个不在主线程中的线程做一些工作

更新--27/09
我刚找到问题的根源。。信号和插槽正在工作,但子线程正在启动导致所有这些问题的qnetworkaccessmanger对象。。我对networkaccess对象进行了注释,没有错误。。我需要线程来调用网络请求。。并在gui中更新结果。

最简单的方法是与连接类型一起使用。这会自动将对接收器对象所在线程中插槽的调用排队。

另外。。我有一堆线程,而不仅仅是一个附加数据的线程。所以我在父线程中创建了一个插槽。。并从线程发出信号。我尝试将父对象的指针移动到thread类,但是。。我不能那样做,它说。。QObject:无法为位于不同线程中的父线程创建子线程。噢。。我正在改变一些事情。。。我意识到我在子对象中不需要父引用。我在父对象中创建了一个槽,在线程对象中创建了一个信号。。来自子线程的发射信号,用于向父线程中的插槽发送信号。。这也不行。它会带来相同的错误“在GUI线程之外使用pixmaps是不安全的”。当我执行object->run()时;不说object->start();它在主线程上运行良好。但是object->start();lauches error..听起来好像您仍然在非UI线程中使用pixmap。如果您能发布一些简单的示例代码,那将非常有帮助。我刚刚找到了问题的根源。。信号和插槽正在工作,但子线程正在启动导致所有这些问题的qnetworkaccessmanger对象。。我对networkaccess对象进行了注释,没有错误。。我需要线程来调用网络请求。。并在gui中更新结果。。