我有一个带有 QDialogButtonBox 小部件的 QDialog,并且我已将按钮框的接受信号连接到我的 QDialog 子类中的插槽,如下所示:
void MyDialog::on_buttonBox_accepted()
{
QString errorString = this->inputErrorString();
if (errorString.isEmpty())
{
// Do work here
// code code code...
this->accept();
}
else
{
QMessageBox::critical(this, tr("Error"), tr("The following input errors have occurred:") + errorString);
}
}
但是,对话框在显示消息框后关闭;显然,按钮框会自动将其接受的信号连接到 QDialog 的接受槽(我想手动调用该槽)。如何防止这种情况发生,以便我可以采用上面概述的手动方法?
最佳答案
您可以实现 MyDialog::accept()。该函数在 QDialog 中是虚拟的。