【发布时间】:2011-01-27 13:33:36
【问题描述】:
我试图在以下情况下避免竞争条件:
QDialog* dialog = [...];
QThread* thread = [...];
connect(thread, SIGNAL(finished()), dialog, SLOT(accept()));
thread->start();
dialog->exec();
当线程在 QDialog::exec() 设置对话框之前完成时,由信号触发的“accept()”调用将丢失,对话框不会自行关闭...
所以理想情况下,我只想在对话框准备好处理它之后才启动线程,但我该怎么做呢?
【问题讨论】:
标签: qt qthread qeventloop