QT写一个记事本⑨

本文介绍了如何在QT中处理记事本程序的关闭事件,当文本内容发生改变时,会在用户尝试关闭窗口时弹出提示,询问是否保存更改。通过覆盖QCloseEvent并检查文本是否被修改,根据用户选择执行相应的保存或丢弃操作。
摘要由CSDN通过智能技术生成

QT写一个记事本⑨

添加关闭事件 当点击关闭时,如果文本被改变,弹出窗口询问是否保存

1.在mainwindow.h里添加需要的头文件

#include <QCloseEvent>//当程序需要关闭的时候,所处理的内容,所有事件都是受保护(protected)的成员函数

2.在mainwindow.h里的class MainWindow : public QMainWindow 里添加

protected:

void closeEvent(QCloseEvent *);

3.在mainwindow.cpp里添加如下代码:

void MainWindow::closeEvent(QCloseEvent *event)//关闭事件

{

if(ui->textEdit->document()->isModified())//如果文本已改变

{

QMessageBox msgBox;

msgBox.setText("The document has been modified.");

msgBox.setInformativeText("Do you want to save your changes?");

msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值