本文目录一览:
qtmodel导出为文本文件
Qt对文件的创建、打开、写入、关闭都有自己的库函数,我们在使用的时候只要包含相应的头文件,就可以轻松的对文件进行操作了
//头文件:ExportToFile.h
#ifndef OUTPUTCSV_H
#define OUTPUTCSV_H
#include QDir
#include QTextStream
class ExportToFile
{
public:
OutputCSV();
bool exportToFile(const QString context, const QString fileName, const QString filePath);
private:
};
#endif // OUTPUTCSV_H
//源文件:ExportToFile.cpp
#include "OutputCSV.h"
OutputCSV::OutputCSV(QObject *parent) : QObject(parent)
{
}
/*导出数据流到相应路径下的文件中*/
bool OutputCSV::exportToFile(const QString context, const QString fileName, const QString filePath)
{
bool res = false;
QDir folder;
QFile file;
bool pathCheck = true;
if(!folder.exists(filePath)) {
pathCheck = folder.mkpath(filePath);
}
if(pathCheck) {
QString fileUrl = filePath + "/" + fileName;
file.setFileName(fileUrl);
file.open(QIODevice::ReadWrite);
if(file.isOpen()) {
QTextStream out(file);
if(file.size() 0) {
if(file.resize(0)) {
out context;
out.flush();
res = true;
}
} else {
out context;
out.flush();
res = true;
}
}
file.close();
}
return res;
}
QT读取文本文件
据我所知,QTextString这个类貌似是不存在的。倒是有个QTextStream类可以用来读取文本数据。
例如下面的函数可以读取小文本文件中的内容
void MainWindow::readFile(const QString fpath)
{
if(fpath.isEmpty())
return;
QFile file(fpath);
if(!file.open(QIODevice::ReadOnly|QIODevice::Text))
{
qDebug()"Open file failure!";
return;
}
QTextStream fs(file);
QString fileContent (fs.readAll());
qDebug()"The content of file is \n"fileContent;
}
你需要确保你将正确的文件路径传递给了该函数,否则会导致打开文件失败。
各位大侠怎么用Qt读取文本文件的指定行
逐行读取
QFile file("/home/administrator/testdir/test.txt");
if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
qDebug()"Can't open the file!"endl;
}
while(!file.atEnd()) {
QByteArray line = file.readLine();
QString str(line);
qDebug() str;
}
qt编程:知不知道怎么从各文本框里提取文本,按照我规定的格式组装文本,把文本存到文件里
1、文本框中提取文本,lineEdit-text()
2、组装文本使用QString类的函数。
3、保存到文件中使用QFile类,例如:
QFile file(strFilePath);
if (!file.open(QIODevice::WriteOnly))
{
return false;
}
//关联文件流并保存
QTextStream out(file);
for (int i=0; im_systemParam.m_nLevelCount; i++)
{
out "Level" i+1 ":" '\t';
out QString::number(m_levelVoltages[i].m_dSetPressure, 'f', 2) '\t';
out QString::number(m_levelVoltages[i].m_dAbsoluteError, 'f', 2) '\t';
out QString::number(m_levelVoltages[i].m_dFactPressure, 'f', 2) '\t';
out QString::number(m_levelVoltages[i].m_bIsOutErrorRange, 'f', 2) '\n';
}
file.close();
return true;