你千万不要跟任何人谈起任何事。你只要一谈起,就会想念起每一个人来。
在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界面