Qt写入文件操作QFile

QT学习之文件读写操作 一、QFile 对文件进行读写操作 1、 QFile进行读写操作 2、 QFile file( path 文件路径) 3、 读 (1) file.open(打开方式) QIODevice::readOnly (2) 全部读取 file.readAll() 按行读 file.readLine() atend()判断是否读到文件尾 (3)默认支持编码格式 utf-8 (4)利用编码格式类 指定格式 QTextCodeC (5)QTextCodec * codec = QTextCodec::codec 阅读详情

创建一个实例如下:

点击按钮将 contentLineEdit中的内容 “Content Write to File”写入到文件D:/Qt02.txt

首先在头文件加入如下代码:

private:
    Ui::MainWindow *ui;
    QLineEdit *lineEdit;
    QPushButton *pushButton;
    QLineEdit *contentLineEdit;
private slots:
    void createFileSlot();

再在构造函数中加入如下代码:

    lineEdit = new QLineEdit(this);
    lineEdit->setGeometry(QRect(50, 50, 200, 25));
    lineEdit->setText("D:/Qt02.txt");
    contentLineEdit = new QLineEdit(this);
    contentLineEdit->setGeometry(QRect(50, 100, 200, 25));
    contentLineEdit->setText("Content Write to File");
    pushButton = new QPushButton(this);
    pushButton->setText("Create");
    connect(pushButton, &QPushButton::clicked, this, &MainWindow::createFileSlot);

槽函数实现:

void MainWindow::createFileSlot()
{
    QFile file(lineEdit->text());
    //judge file exist or not
    if(file.exists())
        QMessageBox::warning(this, "Create File", "File is already existed");
    else
    {
        //不存在创建,存在则打开
        file.open(QIODevice::ReadWrite | QIODevice::Text);
        //写入内容,注意需要转码,否则会报错
        QByteArray str = contentLineEdit->text().toUtf8();
        //写入QByteArray格式字符串
        file.write(str);
        QMessageBox::warning(this, "CreateFile", "Create File Success");
    }
    file.close();
}

 

Qt——文件的读写操作 ini 文件是Initialization File的缩写,即初始化文件。除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户的要求。一般不用直接编辑这些.ini文件,应用程序的图形界面即可操作以实现相同的功能。它可以用来存放软件信息,注册表信息等。 阅读详情

相关推荐

小白Qt学习篇之QFile-Qt的文件操作

QFile QTextStream QDir QStringList的应用

vgcyvh的博客 4294

Qt之文件操作 基础详解

Qt 文件操作,零基础,QFile

weixin_62370184的博客 6080

Qt QFile文件操作详解

Qt QFile文件操作详解 很多应用程序都需要具备操作文件的能力,包括对文件内容进行读/写、创建和删除文件等,甚至某些应用程序的诞生纯粹是为了操作文件,比如 WPS Office、PDFedit 等。为此,Qt 框架提供了 QFile 类专门用来操作文件。 QFile文件操作 QFile 类支持对文件进行读取、写入、删除、重命名、拷贝等操作,它既可以操作文件文件,也可以操作二进制文件。 使用 QFile 类操作文件之前,程序中需引入头文件。创建 QFile 类的对象,常用的构造函数有: QFile::QF

ccc369639963的博客 2万+

qt文件读写

文本文件读写 有2种办法 1.QFile类的IODevice直接读写 2.QFile和QTextStream结合,用流的方式读写 重点函数 1.QFile(const QString &name); //得到QFile对象 2.bool open(OpenMode flags) Q_DECL_OVERRIDE; //打开文件 3.读函数 QByteArray read(qint64 maxlen); QByteArray readAll(); QByteArray.

baidu_16370559的博客 1763

QFile、QSaveFile 和 QTextStream 在文件操作中的对比总结

以下是 Qt 中 、 和 在文件操作中的核心函数对比总结,涵盖打开、读取、写入和保存的常用方法:

treehan的博客 810

Qt 基本文件操作

Qt 基本文件操作 文件操作是应用程序必不可少的部分。Qt 作为一个通用开发库,提供了跨平台的文件操作能力。在所有的 I/O 设备中,文件 I/O 是最重要的部分之一,因为大多数的程序依旧需要首先访问本地文件。 QFile提供了从文件中读取和写入数据的能力。通常会将文件路径作为参数传给QFile的构造函数。不过也可以在创建好对象后使用setFileName()来修改。QFile需要使用 / 作为文件分隔符,会自动将其转换成操作系统所需要的形式,例如 C:/windows 这样的路径在 Windows 平台下

Goallegoal的博客 539

QT-功能-实现文件操作一系列功能(打开,写入,更改,删除)

打开文件 写入文件 修改文件 删除文件

Freedom_Blue的博客 8756

2024年最全Qt QFile文件操作详解,深度集成

文件操作是非常重要的,是数据持久化的方法。通过文件操作,我们可以把在软件中设置的数据保存起来。已剪辑自: http://c.biancheng.net/view/vip_9663.html很多应用程序都需要具备操作文件的能力,包括对文件内容进行读/写、创建和删除文件等,甚至某些应用程序的诞生纯粹是为了操作文件,比如 WPS Office、PDFedit 等。为此,Qt 框架提供了 QFile 类专门用来操作文件。

2401_85014331的博客 1317

深入探索 Qt:用 QFile 创建和写入文件

Qt 最初由奇趣科技公司开发,现在由 Qt Company 维护。自 1996 年发布以来,历经多次变革,像 2008 年被诺基亚收购这一关键节点,使其在手机应用开发领域大放异彩。如今,Qt 已广泛应用于各类设备和场景,支持超过 10 亿台设备和应用程序,涵盖汽车仪表盘、相机显示、安防系统以及银行、机场等智能设备的程序界面。它不仅能在 Windows 系统上运行,还能在单片机(如 STM32)、ARM Linux 等嵌入式设备上大展身手,这种跨平台的特性为开发者提供了极大的便利。

m0_57836225的博客 901

QT文件操作实战:写入与读取完整指南

Qt是一个跨平台的应用程序开发框架,以其高效的模块化设计和丰富的组件库而闻名于IT界。它不仅支持传统的C++编程,还能够利用其特有的信号与槽机制简化事件驱动编程,使得开发者能够创建复杂的图形用户界面(GUI)应用和非GUI程序。QFile类是Qt框架中用于处理文件I/O操作的核心类之一。它提供了许多方便的方法来执行对文件的基本操作,如打开、关闭、读取和写入。QFile类对文件的处理是跨平台的,即在不同的操作系统上都能一致地工作。

weixin_28933797的博客 661

树莓派4B(Raspbian buster系统)安装ROS Melodic(附带网络配置和远程桌面控制说明)

树莓派4B(Raspbian buster系统)安装ROS Melodic(附带网络配置和远程桌面控制说明) 一、硬件准备 二、软件准备 三、安装前的准备工作 四、开始ROS的安装 五、运行小乌龟 由于坑比较多希望大家安装的时候尽量不要跳步进行,一定要等每一步运行成功了再往下进行。 一、硬件准备 1、树莓派4B一个 2、SD卡一张(最好是16G以上的我的是用的64G的) 3、显示器、键盘、鼠标 二、软件准备 1、Raspberryimage (写系统使用的) 链接:https://pan.baidu.com

weixin_45315065的博客 1万+

Qt:23.QFile类(QFile类介绍、打开文件方法、读取文件方法、写入文件方法、关闭文件/重命名文件/检查文件是否存在/删除文件、实例演示)

QFile 类是 Qt 框架中的一个用于处理文件的类。它提供了文件的读取、写入和关闭等功能,是一个非常强大的文件操作工具。 2.打开文件方法: open(QIODevice::OpenMode mode):在构造函数中声明了文件路径后,以指定模式打开文件。 常见模式有: QIODevice::ReadOnly:只读模式 QIODevice::WriteOnly:只写模式 QIODevice::ReadWrite:读写模式 QIODevice::Append:追加模式 QIODevice::Truncate:

weixin_63716012的博客 3565

保姆级教程:手把手教你从ENSEMBL官网下载GRCh38/GRCh37的GTF注释文件(附网址规律总结)

本文提供从ENSEMBL官网下载GRCh38/GRCh37的GTF注释文件的详细教程,包括路径解析、版本号确定和下载命令示例。特别解析了GRCh37的特殊存储结构,并分享批量下载、文件校验等高级技巧,帮助生物信息学研究者高效获取基因组注释文件。

weixin_29289821的博客 204

QT中将数据以json格式写入到文本中

首先我们需要创建一个QFile对象,来指明需要打开文件的路径(QDir::currentPath()当前路径)(user是文件名)如果没有这个文件那么就重新生成 QFile *file = new QFile(QDir::currentPath()+"/"+user); 我们来打开文件QIODevice::ReadWrite以读写的方式打开,QIODevice::Append对文件是以追加的形式...

豫 1511

eNSP-Pro配置又丢了?手把手教你用导出功能防患于未然

本文详细介绍了eNSP-Pro配置防丢失的全套方案,包括运行时内存、虚拟存储设备和宿主机文件系统的配置存储机制,以及多维度备份策略和特殊场景下的恢复技巧。通过优化保存流程、自动化定时导出和版本化管理,帮助网络工程师有效防止配置丢失,提升工作效率。

weixin_42665725的博客 241

避开SM30维护视图的坑:自动更新字段+日志记录的5个关键配置步骤

本文深入解析了SAP ABAP开发中SM30维护视图的深度定制,聚焦于实现自动更新字段与日志记录功能。文章详细阐述了从SE54配置起点到核心编码的5个关键步骤,重点讲解了如何利用事件驱动模型(如05创建事件和01保存前事件)安全操作动态数据结构,并提供了避免常见陷阱的实用技巧,帮助开发者构建稳定可靠的自动化维护机制。

plant的博客 623

【QT学习笔记】QT教程:QFile 用法

类进行基本的文件操作。在实际应用中,请确保正确处理可能出现的异常情况,例如文件不存在、无法打开或者权限不足等问题。是 Qt 框架中的一个类,用于进行文件操作,如读取、写入、移动、复制和获取文件属性等。以上代码片段展示了如何使用。

ffffffeiyu的博客 992

管理信息系统(MIS)设计

一名读者可以借阅多本图书,而一本图书也可以被不同的读者借阅,所以读者与图书之间存在着多对多的借阅关系,读者与图书之间存在着多对多的联系,即m:n的联系。每一种图书属于一种图书类型,而一种图书类型可以包含很多本图书,因此可以得到图书类型与图书之间也存在着一种一对多的联系,即图书类型与图书是1:n的联系。系统应该实现以下功能:图书管理员可以维护图书信息,包括增加新书、修改图书信息、办理图书借阅登记、图书归还登记、过期图书处理、丢失图书处理及读者借阅证件信息的维护等;

m0_69718745的博客 2476

Qt 文件操作

文件输入创建文件 创建.ini QString sFilePath = "E:\\test\\test.ini"; QFile file(sFilePath); 创建.text QString sFilePath = "E:\\test\\test.text"; QFile file(sFilePath);打开文件 QString sFilePath = "E:\\test\\test.ini

leyou2018 的博客 892

FOC实战笔记:RC吸收电路的设计考量与参数调优

本文深入探讨了FOC驱动器中RC吸收电路的设计与调优。针对MOS管开关过程中的电压尖峰问题,详细阐述了RC电路的钳位与能量吸收原理,并提供了从参数计算、实验调试到布局布线的完整实战指南,旨在帮助工程师有效提升系统可靠性与稳定性。

weixin_29219539的博客 273

5-DOF机械臂课程设计(一)之正逆运动学

文章目录基本要求基本概念关节坐标系的建立正运动学求解DH参数表的建立逆运动学求解多解下解的选取源码下载后续 基本要求 ​ 开发上位机程序,要求有良好的界面,能提供关节空间下和笛卡尔坐 标下表示的目标位姿点和中间若干经过点的输入功能,进行轨迹规划, 并控制机械臂沿轨迹运动,最终完成目标抓取的任务。 基本概念 连杆长度 :2个相邻关节轴线之间的距离 连杆扭角 :2个相邻关节轴线之间的角度 连杆偏距 :2个关节坐标系的X轴之间的距离 关节角度 :关节变量 计算时需要加初始角度偏移 关节坐标系的建立 ​ 根据《机

Rosen的博客 5857

Qt txt写入

//将路径写入temp_path.txt QString path; path = "/temp.txt";/路径 QFile mainFile(path); //将路径写入temp_path.txt if(mainFile.open(QIODevice::Text|QIODevice::ReadWrite)) { QTextStream out(&mainFile); out.setCodec(QTextCodec::codecForName("GB2312")); out<<&

时越的博客 1775

Python实战:逐笔高频因子构建与回测全流程解析

本文详细解析了使用Python构建与回测逐笔高频因子的全流程。从逐笔数据的价值与清洗入手,通过实战代码演示了‘大买成交金额占比’因子的计算逻辑,并重点阐述了因子正交化处理的重要性以剔除风格影响。最后,提供了一个经典的分位数回测框架来验证因子有效性,并分享了数据质量、计算效率与过拟合等核心避坑指南。

grass的博客 391

QT中的文件操作

最近在弄一个linux下QT的TCP的客户端与服务端进行的网卡测试程序,需要对测试的数据进行保存,所以要用到文件的操作。 一、刚开始考虑用QFile操作保存为txt文件,并进行了尝试(没有完成) 网上查找了一些相关资料:(http://www.linuxidc.com/Linux/2011-04/34581.htm) #include #include 1. 打开文件 QF

觉梦人 566

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Qt:QFile类实例源代码(读写文件)

功能描述: 1、新建文件,写入数据。 2、打开文件,读取数据。

好儿郎~志在四方 4746

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

qt 将相应字符写入txt文件

QFile file("此为文件路径"); if (file.open(QIODevice::ReadWrite | QIODevice::Text)) //QIODevice::ReadWrite支持读写 { QTextStream stream(&amp;file); stream &lt;&lt; "123" &lt;&lt; endl; //"123" 为写入文本的字符-- endl...

MusicMan 7346

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: Qt创建文件夹 QDir类
下一篇: Qt读取ini文件
qiukapi
博客等级 码龄12年 51粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值