私の 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();
}
これは doSetup() メソッドです->
void MainWindow::doSetup(QThread &mainThread)
{
QObject::connect(&mainThread, &QThread::started, this, &MainWindow::activeLoopMainC);
}
シグナルスロットメカニズムを確認したところ、動作しました。
スロット方式→
void MainWindow::activeLoopMainC()
{
qDebug() << " Signal-Slot structure working successfully..";
mainThreadProc((void*)(instAddr));
}
このスロット メソッドで main.c から関数を呼び出します。
デバッグでは、コードの動作に問題はありません。しかし、私のウィンドウは空白です。フレームしかありません。
エラーメッセージが表示されます: QObject::moveToThread: Widgets cannot be move to a new thread
どうすればこの問題を解決できますか?
ご回答ありがとうございます。