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

oppo软件商店官网下载北京seo学校

oppo软件商店官网下载,北京seo学校,中国建材网站,黑龙江建设网证件查询Qt的文件操作 由于 Qt 的发展比较早,在 C 尚未提供标准的文件流操作时,Qt 就研发出了自己的文件操作并沿用至今。Qt 提供了丰富的文件操作类,包括 QFile 文件操作和读写类以外,还有 QSaveFile(安全文件保存类&#xf…

Qt的文件操作

由于 Qt 的发展比较早,在 C++ 尚未提供标准的文件流操作时,Qt 就研发出了自己的文件操作并沿用至今。Qt 提供了丰富的文件操作类,包括 QFile 文件操作和读写类以外,还有 QSaveFile(安全文件保存类)、QTemporaryFile(临时文件类)、QTcpSocket(TCP 类)、QUdpSocket(UDP类)、QSerialPort(串口通信类)、QBluetoothSocket(蓝牙通信类)、QProcess(进程通信类)、QBuffer(文件缓冲区类)等。

1. 常用文件操作接口

1.1 打开文件

函数说明
virtual bool open(QIODevice::OpenMode mode) override这个接口可以使用于不同文件操作逻辑的操作系统间。

1.2 读文件

函数说明
qint64 read(char *data, qint64 maxSize)将文件数据读取到指定的字符数组中,最多读取 maxSize 个字节,返回实际读取的字节数。
QByteArray read(qint64 maxSize)从文件中读取最多 maxSize 个字节的数据,并返回一个包含读取内容的 QByteArray 对象。
QByteArray readAll()这个接口不需要关心读取文件的大小和越界,一次会将文件内容都读完。
qint64 readLine(char *data, qint64 maxSize)这个接口提供了读取一行的方法。
QByteArray readLine(qint64 maxSize = 0)读取一行数据并返回 QByteArray 对象;如果 maxSize 非零,则最多读取 maxSize 个字节。

1.3 写文件

注意文本写入文件时,接口可能要指定编码格式,如 ->text().toUtf8()

函数说明
qint64 write(const char *data, qint64 maxSize)将指定字符数组中的数据写入文件,写入的字节数由 maxSize 指定,返回实际写入的字节数。
qint64 write(const char *data)将以 null 结尾的字符串数据写入文件,返回写入的字节数。
qint64 write(const QByteArray &byteArray)QByteArray 中的数据写入文件,返回写入的字节数。

2. 制作简易文本编辑器

虽然 readAll() 的返回值类型是一个 QByteArray ,但 QString 有一个参数为 QByteArray 的构造函数,可以根据隐式类型转换直接赋值。注意为了让 QPlainTextEdit 类型的对话框能够在槽函数中直接调用,将它声明为了一个成员函数。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMenuBar>
#include <QFileDialog>
#include <QFile>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//先设置菜单this->setWindowTitle("记事本");QMenuBar* menuBar=this->menuBar();QMenu* menu= new QMenu("文件");menuBar->addMenu(menu);QAction* action1 =new QAction("打开");QAction* action2 =new QAction("保存");menu->addAction(action1);menu->addAction(action2);/*---------------------------------------*///构建一个文本框覆盖整个窗口,并设置字体大小(因为默认字体太小了)edit=new QPlainTextEdit();//成员变量QFont font;font.setPixelSize(20);edit->setFont(font);this->setCentralWidget(edit);/*---------------------------------------*///绑定打开和保存文件的槽函数connect(action1,&QAction::triggered,this,&MainWindow::handlerOpen);connect(action2,&QAction::triggered,this,&MainWindow::handlerSave);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::handlerOpen()
{//弹出 “打开文件” 对话框,选择打开什么文件QString path = QFileDialog::getOpenFileName(this);//向底部状态栏添加打开文件的名称,或提示打开文件失败QStatusBar* statusBar = this->statusBar();statusBar->showMessage(path);QFile file(path);if(!file.open(QFile::ReadOnly)){statusBar->showMessage("打开失败!");return;}//QString 提供了ByteArray的构造QString text = file.readAll();file.close();edit->setPlainText(text);
}void MainWindow::handlerSave()
{//弹出 “保存文件” 对话框,选择在哪里保存文件QString path = QFileDialog::getSaveFileName(this);QStatusBar* statusBar = this->statusBar();statusBar->showMessage(path);QFile file(path);if(!file.open(QFile::WriteOnly)){statusBar->showMessage("打开失败!");return;}const QString& text=edit->toPlainText();//注意这里要确定写入的编码格式file.write(text.toUtf8());file.close();
}

QFile1

可以打开文本文件,也可以保存自己写的内容到指定位置的文件中。

3. 文件信息

QFileInfo 类可以获取到文件的相关信息。可以使用 QFileDialog::getOpenFileName(this) 获取到一个文件的路径,在使用 QFileInfo 的构造函数将路径传入,就能获取到路径目标文件的文件信息,包括文件名、文件大小、相对路径、绝对路径等,详细请查 Qt 助手。

http://www.dtcms.com/wzjs/285557.html

相关文章:

  • 上海建设工程标准与造价信息网站seo网站推广专员
  • 做视频播放网站 赚钱seo优化基础教程pdf
  • 无锡设计网站2024新闻热点摘抄
  • 优质网站建设报价成都最好的网站推广优化公司
  • 朋友让帮忙做网站淘宝优化关键词的步骤
  • 商标购买百度seo优化
  • 行业网站建设方案全网营销推广服务
  • 网页标准化对网站开发维护所有者的好处2023年第三波疫情9月
  • 网站正在建设中色重庆百度推广优化排名
  • app网站建设源码官网制作公司
  • 2023上海最近3天疫情情况南京seo优化
  • 北京海淀建设部邮编关键词营销优化
  • 装修是全包划算还是半包划算深圳推广优化公司
  • 做网站订金为什么需要交那么多哪个网站学seo是免费的
  • 新疆网站建设品牌官方app下载安装
  • 营销网站开发找哪家百度推广后台
  • 黄埔网站建设哪家好今日头条最新新闻消息
  • 网站你懂我意思正能量不用下载视频口碑营销的作用
  • 盐城哪家做网站的正规媒体发布平台
  • WordPress简单百度站长插件农产品网络营销
  • 关于网站建设营销类文章爱站网ip反查域名
  • 余杭区建设局网站搜索热词排行榜
  • 做京东网站采购的工作内容宁波seo怎么做引流推广
  • 网站建设的收费标准韩国比分预测
  • 做网站公司哪好网络营销模式包括哪些
  • 信誉好的武汉网站建设免费b站推广网站在线
  • 福州建设局网站seo排名优化推荐
  • 购买域名后怎么做网站刷赞网站推广永久
  • 杭州的网站建设公司有哪些安徽网络建站
  • 公司网站建设规划网站宣传的方法有哪些