textedit获取文本内容_【文本编辑器】二、文件操作功能(上)

本文档详细介绍了Qt文本编辑器的开发,包括设置窗口标题,实现文件保存和关闭程序时的保存提醒功能。通过使用类设置窗口标题,并根据文本编辑内容变化动态更新。文件保存功能涵盖了直接保存和另存为,利用类进行文件操作。此外,还实现了在关闭程序时检查文件是否被修改并提示用户保存。
摘要由CSDN通过智能技术生成

cf68050ee3ba3a3ad9fa2d1d95d79634.png

上一篇开发了文本编辑器界面,在这一篇以及接下来的几篇中,将对文本编辑器界面开发过程中涉及的所有动作集对应的功能项进行设计。本篇对文本编辑器的窗口标题设置、文件保存和关闭程序时的保存提醒功能进行讲解。此外,还包括过QTextEdit类、标准文件对话框和消息框的相关使用。

本篇目录

1. 设置窗口标题
2. 保存文件
3. 关闭程序时的保存提醒


运行环境:

    win 10 + Qt 5.12.5 + Qt Creator 4.10


1. 设置窗口标题

在《【文本编辑器】一、界面设计》中通过setWindowTitle(tr("文本编辑器"));设置窗口标题,不过这只是应用程序的名称。常见软件的标题条通常设置成“文件名 - 软件名”的形式,下面将按照这一标题形式设置文本编辑器的窗口标题。

在 "textedit.h" 文件中添加设置文本编辑器标题的函数和标题变量的声明,代码如下:

1private:
2    void setCurrentFileName(const QString &fileName); // 设置当前文件标题
3    QString fileName; // 当前文件标题名

在源文件中添加函数setCurrentFileName()的实现

 1void TextEdit::setCurrentFileName(const QString &fileName)
2{
3    this->fileName = fileName; // 当前文档名
4    textEdit->document()->setModified(false); // 默认文档未被修改
5
6    QString shownName; // 标题条显示的文档名
7    if (fileName.isEmpty())
8        shownName = "未命名.txt";
9    else
10        shownName = QFileInfo(fileName).fileName();
11 // 设置窗口标题,当文档被修改后使用星号 '*' 标记
12    setWindowTitle(tr("%1[*] - %2").arg(shownName, tr("文本编辑器")));
13    setWindowModified(false); // 默认标题中不显示星号*
14}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值