我有一个简单的表单 UI,它有一个按钮插槽,启动一个线程:
void MainWindow::LoadImage()
{
aThread->run();
}
run() 方法如下所示:
void CameraThread::run()
{
qDebug("Staring Thread");
while(1)
{
qDebug("ping");
QThread::sleep(1);
}
}
当我单击调用 LoadImage() 的按钮时,UI 变得无响应。我定期将“ping”消息视为调试输出,但 UI 挂起,不响应任何内容。为什么我的线程没有单独运行?CameraThread 派生为公共 QThread 我正在使用 gcc 版本 4.4.3 (Ubuntu 4.4.3-4ubuntu5) 以及来自 Ubuntu 10.04(x86) 存储库的 QT 库和 QT Creator。