Отмена принятого диалога в Qt (он же проверка ошибок пользователя)

Мне кажется, что я упускаю что-то очевидное, но я хочу иметь возможность проверять ошибки, введенные пользователем в модальном диалоговом окне, когда они нажимают «ОК», и позволить им вернуться назад и исправить это, не закрывая диалоговое окно.

Что-то, что я могу установить в обратном вызове слота кнопки «ОК», которое сообщит диалогу не закрываться?

1

Решение

Вы можете использовать готовый метод, который вы могли знать, возвращаемое значение отклонено или нет.

например:

void ExDialog::done(int res)
{
if (res == QDialog::Accepted)
{
// check if it is ok or not
if(not)
{
ShowErrPopUp();
return;
}
}

QDialog::done(res);
}

// when ok button is clicked
void ExDialog::action_ok_bt_clicked()
{
this->accept();
}
3

Другие решения


По вопросам рекламы [email protected]