Я хотел бы защитить окно от закрытия, поэтому, когда пользователь пытается это сделать, необходимо ввести пароль для завершения действия.Нет необходимости вводить имя пользователя.
Я знаю, как перехватить QWidget::closeEvent
, как в этом примере:
void MainWindow::closeEvent(QCloseEvent *event) {
QMessageBox msgBox;
msgBox.setText(tr("Do you want to close the window?"));
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
msgBox.setDefaultButton(QMessageBox::No);
msgBox.setModal(true);
int ret = msgBox.exec();
if (ret == QMessageBox::Yes)
event->accept();
else
event->ignore();
}
Проблема в том, что в примере используется QMessageBox
, который не позволяет вводить текст, следовательно, он не соответствует моим потребностям.
Как изменить код для запроса пароля?