У меня есть QDialog с виджетом QDialogButtonBox, и я подключил принятый сигнал блока кнопки к слоту в моем подклассе 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 (я хочу вызвать этот слот вручную).Как я могу предотвратить это, чтобы использовать ручной подход, описанный выше?