我有以下插槽:
void MainWindow::showCriticalMessage(const QString& title, const QString& message)
{
QMessageBox msgBox(this);
msgBox.setIcon(QMessageBox::Critical);
msgBox.setText(title);
msgBox.setInformativeText(message);
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.setDefaultButton(QMessageBox::Ok);
msgBox.exec();
}
如果在用户关闭最后一个弹出消息框之前多次触发此插槽,这是否会成为潜在问题?因为我看到很多人说,使用.show()而不是.exec()。
答案 0 :(得分:3)
你会得到一堆似乎是你想要的对话框。
但是你也会得到嵌套的exec()调用......每个对话框一个。这非常令人讨厌,但它本身不会造成太大伤害。但是,潜在的损害在很大程度上取决于您的其他应用程序(请参阅我在评论中发布的链接)。