简体   繁体   English

如何使用QTextStream代替QDataStream进行QTableView的负载保存?

[英]How to use QTextStream instead of QDataStream for load-save from QTableView?

I am newbie on QT, So when I try to load and save data from QTableView into txt files in linux using QDataStream I have a problem like this : 我是QT的新手,因此,当我尝试使用QDataStream将数据从QTableView加载并保存到linux中的txt文件中时,出现这样的问题:

txt files contain data from tableview txt文件包含tableview中的数据

All I want is the data in txt files easily to read, for example : data1;data2 data3;data3 我想要的只是易于阅读的txt文件中的数据,例如:data1; data2 data3; data3

So, how to use QTextStream instead of QDataStream, because when I'm using QTextStream I can write output in txt just like this : 因此,如何使用QTextStream而不是QDataStream,因为当我使用QTextStream时,我可以这样在txt中写入输出:

QFile ofile("/home/rizi/LearnQT/tes");
ofile.open(QIODevice::ReadWrite | QIODevice::Text);
QTextStream out(&ofile);
out << line+"\n";

Each item in the model consists of more than a text. 模型中的每个项目都包含多个文本。 That's why write function requires a QDataStream instance. 这就是为什么write函数需要QDataStream实例的原因。 If saving only the text part of the data is ok for you then you can always: 如果只保存数据的文本部分是可以的,那么您始终可以:

qint32 n(model->rowCount()), m(model->columnCount()); 
stream << n << m; 
for(int i=0; i<n; ++i) 
for(int j=0; j<m; j++) 
stream << model->item(i,j)->text();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM