【发布时间】:2011-02-11 23:14:28
【问题描述】:
我有一个像这样打开的 QDialog:
void MyModule::openDialog() {
this->dialog->open();
printf("Hello World");
}
对话框打开得很好,但不幸的是,调用 openDialog() 时没有打印“Hello World” - 即使在关闭对话框之后也是如此。但是,当我之后打开另一个完全不相关的文件对话框时,会打印出消息。
是什么导致对话框阻塞,直到打开另一个对话框?当我使用this->dialog->exec(); 或this->dialog->show(); 时,也会发生同样的事情。
可能值得注意的是MyModule::openDialog() 是一个连接到按钮点击事件的槽。
有什么想法吗?
【问题讨论】:
-
QTDialog 还是你的意思是
QDialog? -
我对Qt一无所知,但请确保您将第一个对话框显示为非模式对话框。模态对话框将阻止执行,直到对话框被关闭。
-
@doc:是的,你是对的。我的意思是 QDialog。