LINUX.ORG.RU

Qdialog отменить согласие


0

1
void HelloDialog::on_buttonBox_accepted()
{
    if (!(ui->lineEdit->text().isEmpty())){
        emit SendResults(ui->lineEdit->text());
    }
    else {
        QMessageBox::information(this, "Empty Fields!!","Some fields are empty,you will cach error connecting to server");
    }
}

on_buttonBox_accepted() вызывается уже после закрытия формы диалога. Как бы сделать так, чтоб я мог отменить её закрытие в случае неправильных данных.



Последнее исправление: vsrmis (всего исправлений: 1)

Убрать автоматически появившуюся привязку к слоту accept() диалога в дизайнере, вызывать слот самостоятельно в on_buttonBox_accepted()

unC0Rr ★★★★★
()

по-хорошему, у тебя должен быть слот, который подсоединялся бы к сигналу QLineEdit::textEdited(QString) и при неправильно введенной строке дизейблил бы QDialogButtonBox::button(QDialogButtonBox::Ok)

dt1 ★★
()

Переопредели QDialog::accept() и если все ok, то вызови оттуда родной QDialog::accept()

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.