当前位置: 首页 > news >正文

QT学习笔记之文件操作

你千万不要跟任何人谈起任何事。你只要一谈起,就会想念起每一个人来。


在ui界面添加一个LineEdit(lEt)、QPushButton(btn)、QWidget

widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QFile>
#include <QFileDialog>
#include <QTextCodec>
#include <QDebug>
#include <QFileInfo>
#include <QDateTime>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//点击选取按钮弹出,文件对话框connect(ui->btn,&QPushButton::clicked,[=](){QString path=QFileDialog::getOpenFileName(this,tr("Open File"),"D://");//获取文件路径ui->lEt->setText(path);//将文件路径保存到linneEdit中QFile file(path);//QTextCodec *codec=QTextCodec::codecForName("gbk");//设置编码格式,解决gbk格式打开后乱码的问题file.open(QIODevice::ReadOnly);//以只读的方式打开文件// QByteArray array=file.readAll();全部读取QByteArray array;while(!file.atEnd()){array+=file.readLine();//逐行读取}ui->tEt->setText(array);file.close();file.open(QIODevice::Append);//打开时选择以追加的方式写file.write("风在很远的地方");//在文件中写file.close();//QFileInfo文件信息类QFileInfo info(path);qDebug()<<"大小:"<<info.size()<<"后缀名:"<<info.suffix()<<"文件名称:"<<info.fileName()<<"文件路径"<<info.filePath();qDebug()<<"创建日期:"<<info.birthTime().toString("yyyy/MM/dd hh:mm:ss");//Qt版本问题 No member named 'created' in 'QFileInfo',使用birthTime()函数qDebug()<<"最后修改日期:"<<info.lastModified().toString("yyyy/MM/dd hh:mm:ss");});
}Widget::~Widget()
{delete ui;
}

.pro文件中

添加greaterThan(QT_MAJOR_VERSION, 5): QT += core5compat,解决QT6中QTextcodec头文件找不到的问题,具体请参考QT6中QTextcodec头文件找不到_qt6 qtextcodec 被替换-CSDN博客

ui界面

http://www.lryc.cn/news/447247.html

相关文章:

  • Mybatis XML配置文件操作数据库
  • Ansible-template模块动态生成特定文件
  • 【Hadoop】【vim编辑器】【~/.bashrc 文件】如何编辑
  • vs code自动报错
  • 详细分析Nginx中的proxy_pass 末尾斜杠
  • 数据结构:双指针—移动0(OJ283)
  • LeetCode - 850 矩形面积 II
  • Jenkins Pipeline 中通过勾选参数来控制是否构建 Docker 镜像
  • C++入门基础知识86(实例)——实例11【计算自然数之和】
  • ChatGPT与R语言融合技术在生态环境数据统计分析、绘图、模型中的实践与进阶应用
  • OpenAi以及Dify结合生成Ai模型
  • 【漏洞复现】用友 UFIDA /portal/pt/file/upload 任意文件上传漏洞
  • C:内存函数
  • 【Web】御网杯信息安全大赛2024 wp(全)
  • VC++同时处理ANSI和Unicode字符集,除了使用TCHAR和_T()宏外,还有其他方法可以实现吗?
  • MATLAB定位程序与讲解【专栏介绍】
  • 机器学习3--numpy
  • Linux之我不会
  • 音视频整体解码流程和同步流程
  • 1.2 HuggingFists安装说明-Linux安装
  • 四,MyBatis-Plus 当中的主键策略和分页插件的(详细实操使用)
  • Win32打开UWP应用
  • C# C++ 笔记
  • 关于最小二乘法
  • 国产OpenEuler与Centos全面之比较
  • Java面试题一
  • LabVIEW提高开发效率技巧----自动化测试和持续集成
  • 开源链动 2+1 模式 S2B2C 商城小程序:激活 KOC,开启商业新征程
  • 什么是Node.js?
  • 即插即用篇 | DenseNet卷土重来! YOLOv8 引入全新密集连接卷积网络 | ECCV 2024