2023-12-05 Qt学习总结9


点击 <C 语言编程核心突破> 快速C语言入门


Qt学习总结

  • 前言
  • 二十五 QFile文件操作
  • 总结


前言

要解决问题: 学习qt最核心知识, 多一个都不学.


二十五 QFile文件操作

QFile是Qt提供的文件读写类,支持对文件进行读写、复制、重命名、删除等操作。常用C++函数如下:

  1. 打开文件:QFile file(fileName)

  2. 打开文件模式:

    • 只读模式:file.open(QIODevice::ReadOnly)

    • 只写模式:file.open(QIODevice::WriteOnly)

    • 读写模式:file.open(QIODevice::ReadWrite)

    • 追加模式:file.open(QIODevice::Append)

  3. 写入文件:file.write("Hello World!")

  4. 读取文件内容:

    • 读取所有数据:file.readAll()

    • 读取一行数据:file.readLine()

    • 读取指定字节数的数据:file.read(numBytes)

  5. 获取文件大小:file.size()

  6. 检查文件是否打开:file.isOpen()

  7. 关闭文件:file.close()

  8. 拷贝文件:QFile::copy(sourceFileName, targetFileName)

  9. 重命名文件:QFile::rename(oldName, newName)

  10. 删除文件:QFile::remove(fileName)

示例:

建立一个界面, 利用信号和槽机制, 打开一个文件, 并将文件内容显示出来
在这里插入图片描述
编辑内容, 然后保存.
在这里插入图片描述
代码:

Widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QFile>
#include <QMessageBox>
#include <QWidget>QT_BEGIN_NAMESPACE
namespace Ui
{
class Widget;
}
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void on_openButton_clicked();void on_saveButton_clicked();private:Ui::Widget *ui;
};
#endif // WIDGET_H

widget.cpp

#include "Widget.h"
#include "./ui_Widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}void Widget::on_openButton_clicked()
{QFile file(ui->fileLineEdit->text());if (file.open(QIODevice::ReadOnly)){QMessageBox::information(this, "提示", "打开文件");}else{QMessageBox::information(this, "提示", "未打开文件");}ui->textEdit->setText(QString(file.readAll()));file.close();
}void Widget::on_saveButton_clicked()
{QFile file(ui->fileLineEdit->text());if (file.open(QIODevice::WriteOnly | QIODevice::Truncate)){QMessageBox::information(this, "提示", "打开文件");}else{QMessageBox::information(this, "提示", "未打开文件");}file.write(ui->textEdit->toPlainText().toUtf8());file.close();
}

总结


点击 <C 语言编程核心突破> 快速C语言入门


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/269434.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频流什么意思?其工作原理和挑战有什么

流媒体是一种通过互联网传输&#xff0c;将音频、视频等多媒体内容从存储设备传输到另一个设备的技术。与传统下载方式不同&#xff0c;流媒体可以实现边下边播&#xff0c;用户无需等待完整文件下载即可开始观看&#xff0c;同时具有流畅体验。流媒体的优点在于方便快捷&#…

云渲染对高层住宅立面渲染图优势、作用、影响

建筑设计不仅仅是技术的展现&#xff0c;更是一种艺术表达。在这个过程中&#xff0c;立面渲染图扮演着至关重要的角色&#xff0c;它能生动地将设计师的创新意图和细节呈现给观众&#xff0c;让他们感受设计的美学与功能性。得益于科技的不断发展&#xff0c;云渲染现在已经成…

短链接技术探究与应用

一、引言 在互联网世界中&#xff0c;URL&#xff08;统一资源定位符&#xff09;是网络资源的标识&#xff0c;但由于URL的长度限制和不易记忆等问题&#xff0c;短链接应运而生。短链接是一种将长URL转换为短地址的技术&#xff0c;不仅提高了用户体验&#xff0c;还为网站运…

用户管理第2节课 -- idea 2023.2 创建表

一、懂得 1.1编码格式是防止乱码的&#xff0c;utf-8是完全够的&#xff0c;那几个基本没差别 网址&#xff1a; 【IDEA——连接MySQL数据库&#xff0c;创建库和表】_idea中数据库-CSDN博客 这些是MySQL数据库中的一些术语&#xff0c;可以简单解释如下&#xff1a; 1、col…

自定义日志打印功能--C++

一、介绍 日志是计算机程序中用于记录运行时事件和状态的重要工具。通过记录关键信息和错误情况&#xff0c;日志可以帮助程序开发人员和维护人员追踪程序的执行过程&#xff0c;排查问题和改进性能。 在软件开发中&#xff0c;日志通常记录如下类型的信息&#xff1a; 事件信…

星融元携手合作伙伴探索开放网络之旅

12月8日&#xff0c;星融元数据技术有限公司&#xff08;下文简称“星融元”&#xff09;与核心合作伙伴的“开放网络之旅”主题活动在苏州顺利举办。此次活动中星融元分享了公司发展历程、开放网络在国内外的趋势及星融元软硬件上的核心创新技术&#xff0c;多家合作伙伴一起探…

鱼fish数据集VOC+yolo-1400张(labelImg标注)

鱼类&#xff0c;是最古老的脊椎动物。易蓄积重金属。 部分不同染色体数目的杂交的后代依然有生育能力。它们几乎栖居于地球上所有的水生环境&#xff0c;从淡水的湖泊、河流到咸水的大海和大洋。 今天要介绍鱼的数据集。 数据集名称&#xff1a;鱼 fish 数据集格式&#xf…

运动重定向:C-3PO-v1

TeachMe: Three-phase learning framework for robotic motion imitation based on interactive teaching and reinforcement learning解析 摘要1. 简介2. 相关工作2.1 基于编码器-解码器的架构2.2 强化学习 3. 方法3.1 问题表述3.2 NTU-DB3.3 阶段1: 编码器和解码器3.4 阶段2:…

系列二十七、Apache Jmeter使用

一、安装 下载安装包>解压到指定目录>双击打开D:\Programs\apache-jmeter-5.5\bin\ApacheJmeter.jar即可。我分享的ApacheJmeter链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1VI7f3buIWZbQEeq2CRbwlg?pwdyyds 提取码&#xff1a;yyds 二、使用 2.1、添…

三天精通Selenium Web 自动化 - Selenium(Java)环境搭建

1 下载JDK JDK下载地址&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2 安装和配置JDK 安装目录尽量不要有空格 D:\Java\jdk1.8.0_91; D:\Java\jre8设置环境变量&#xff1a; “我的电脑”->右键->“属性”->…

ReentrantLock详解

介绍 它是可重入锁的互斥锁&#xff0c;又被称为“独占锁”。它在同一时间点只能被一个线程锁持有&#xff1b;可重入表示&#xff0c;ReentrantLock锁可被同一个线程多次获取。它是通过一个FIFO的等待队列来管理获取该锁所有线程的。在“公平锁”的机制下&#xff0c;线程依次…

企业IT安全:内部威胁检测和缓解

什么是内部威胁 内部威胁是指由组织内部的某个人造成的威胁&#xff0c;他们可能会造成损害或窃取数据以谋取自己的经济利益&#xff0c;造成这种威胁的主要原因是心怀不满的员工。 任何内部人员&#xff0c;无论是员工、前雇员、承包商、第三方供应商还是业务合作伙伴&#…