linux系统中QT进行文本读写操作的方法

简介: linux系统中QT进行文本读写操作的方法

第一:文本读写基本简介

      有时候我们需要对文件进行读写,比如写个Mp3音乐播放器需要读Mp3歌词里的文本,就需要对这个文件进行读写操作。

     QFile 类提供了读取和写入文件的接口。在嵌入式里如果需要读写文件,最简单的方法就是用 Qfile,利用了QFile来读写Linux下的字符设备。

     串结束符会自动翻译为系统平台的编码,如 Windows 平台下是“\r\n”。

     这些取值可以组合,例如 QIODevice::ReadOnly | QIODevice::Text 表示以只读和文本方式

打开文件。

     使用 QFile 对一个文本文件的操作流程是以下这样的。

第二:应用实例

   

     在头文件“mainwindow.h”中具体代码实现如下:

private slots:
    //打开文本文件
    bool openFile();
    //关闭文本文件
    void closeFile();

     在源文件“mainwindow.cpp”的具体实现如下:

   

bool MainWindow::openFile()
{
    /* 获取文件的路径 */
   QString fileName = QFileDialog::getOpenFileName(this);
   /* 指向文件 */
   file.setFileName(fileName);
   /* 判断文件是否存在 */
   if (!file.exists())
   return false;
    /* 以读写的方式打开 */
   if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
   return false;
   /* 读取文本到 textEdit */
   textEdit->setPlainText(file.readAll());
   /* 设置打开按钮不可用,需要关闭再打开 */
   openPushButton->setEnabled(false);
   /* 设置关闭按钮为可用属性 */
   closePushButton->setEnabled(true);
   /* 关闭文件 */
   file.close();
   return true;
}

第三:运行效果

          点击打开

 

目录
相关文章
|
8月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
774 3
Linux系统禁用swap
|
8月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1345 3
|
7月前
|
XML Linux 数据格式
Qt对Word网页的读写功能实现
Qt对Word网页的读写功能实现
426 9
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
845 3
Linux系统初始化脚本
|
8月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
1014 1
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
652 1
Qt(C++)开发一款图片防盗用水印制作小工具
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
889 0
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
1209 2