srd*_*n89 4 c++ multithreading qt5
我的IDE Qt 5.0.1,平台Linux
我有一个关于设置小部件到窗口的问题.(我的意见)
这是我的main.cpp->
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QThread cThread;
MainWindow w;
w.doSetup(cThread);
w.moveToThread(&cThread);
cThread.start();
if(cThread.isRunning())
{
qDebug() << " Thread is Running...";
}
w.show();
return a.exec();
}
Run Code Online (Sandbox Code Playgroud)
这是doSetup()方法 - >
void MainWindow::doSetup(QThread &mainThread)
{
QObject::connect(&mainThread, &QThread::started, this, &MainWindow::activeLoopMainC);
}
Run Code Online (Sandbox Code Playgroud)
我检查了我的信号插槽机制,它的工作原理.
插槽方法 - >
void MainWindow::activeLoopMainC()
{
qDebug() << " Signal-Slot structure working successfully..";
mainThreadProc((void*)(instAddr));
}
Run Code Online (Sandbox Code Playgroud)
我通过这个插槽方法从我的main.c调用一个函数.
在调试中,工作代码没有问题.但我的窗户是空白的.只有框架.
我收到一条错误消息:QObject :: moveToThread:小部件无法移动到新线程
我怎么解决这个问题?
提前感谢您的回答.
| 归档时间: |
|
| 查看次数: |
5684 次 |
| 最近记录: |