我有一个QDialog,内部包含一个QDialogButtonBox小部件,我将这个按钮框的accepted信号连接到了我的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的接受插槽(我想手动调用该插槽)。如何防止这种情况发生,以便我可以采取上述手动方法?