当我在CloseWindow中单击右键时,如何在任务栏中打开QDialog
窗口而不是QuitProgram?
检查图像
Obs:我已经有了一个带有按钮退出程序的QDialog UI。
答案 0 :(得分:1)
覆盖主窗口中的QWidget::closeEvent()
功能。当用户尝试退出应用程序时,将调用此方法。例如:
void YourMainWindow::closeEvent(QCloseEvent* ev)
{
QMessageBox msgBox(QMessageBox::Question,
tr("Quit"), tr("Are you sure you want to quit?"),
QMessageBox::Yes | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Cancel);
#ifdef Q_OS_MAC
// This presents the dialog as a sheet in Mac OS.
msgBox.setWindowModality(Qt::WindowModal);
#endif
if (msgBox.exec() == QMessageBox::Yes) {
ev->accept();
} else {
ev->ignore();
}
}