QThread bloqueando o aplicativo principal
Eu tenho uma interface de usuário de formulário simples que possui um slot para um botão, iniciando um thread:
void MainWindow::LoadImage()
{
aThread->run();
}
E o método run () fica assim:
void CameraThread::run()
{
qDebug("Staring Thread");
while(1)
{
qDebug("ping");
QThread::sleep(1);
}
}
Quando clico no botão que chama LoadImage (), a interface do usuário fica sem resposta. Periodicamente, vejo a mensagem "ping" como a saída de depuração, mas a interface do usuário trava, não responde a nada. Por que meu thread não está sendo executado separadamente? CameraThread derivado como público QThread Estou usando o gcc versão 4.4.3 (Ubuntu 4.4.3-4ubuntu5) com bibliotecas QT e QT Creator a partir dos repositórios Ubuntu 10.04 (x86).