我需要在单独的线程中创建一个小部件,并将MainWindow设置为父小部件。无法避免创建线程。
在新小部件的构造函数中,我指定了一个指向MainWindow的指针,但是给出了
QObject :: setParent:无法设置父级,新父级位于不同的线程
如何解决这个问题?
P.S。儿童小部件可能很多。
答案 0 :(得分:3)
您无法在主线程
之外创建UI小部件答案 1 :(得分:2)
这是不可能的。有关详细信息,请参阅以下代码参考:
特别是,你需要注意这个警告:
“qWarning(”QObject :: setParent:无法设置父级,新父级位于不同的线程中“);”
你根据你的问题得到了命令行,所以这是预期的。
正如警告所说,你需要确保父母在父母和孩子之间的同一个线程中发生。
无法避免创建线程。怎么解决这个问题?
我担心您需要重构代码,方法是将其从您的线程中移出到父级所在的位置或/并且根本没有单独的线程。
根据您问题中的信息,目前还不能多说,因为我们还不完全了解您的其他主题的功能。
希望这有助于解释它。