qt
对于很多程序在点击关闭按钮后都会提示各种各样的信息,设置方法如下,不需要connect连接

  • 任何事件都要写在protected 里,以方便继承:
//头文件里定义
#include <QCloseEvent>
protected:
void colse(QCloseEvent* event);

//mainwindow.cpp文件
void MainWindow::close(QCloseEvent* event)
{
	 if(ui->textEdit->document()->isModified())
    {
        QMessageBox message;
        message.setText("The document has been modified");
        message.setInformativeText("Do you want to save it?");
        message.setStandardButtons(QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel);
        message.setDefaultButton(QMessageBox::Save);
        int choice=message.exec();
        switch (choice) {
            case QMessageBox::Save:
            qDebug()<<"save";
            event->accept();
            break;
        case QMessageBox::Discard:
            event->accept();
            break;
        case QMessageBox::Cancel:
            event->ignore();
            break;
        }
    }
	else
	{
	event->accept();
	}

}
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐