我是QT的新手,因此,当我尝试使用QDataStream将数据从QTableView加载并保存到linux中的txt文件中时,出现这样的问题:

txt文件包含tableview中的数据



我想要的只是易于阅读的txt文件中的数据,例如:
数据1;数据2
data3; data3

因此,如何使用QTextStream而不是QDataStream,因为当我使用QTextStream时,我可以像这样在txt中写入输出:

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

最佳答案

模型中的每个项目都包含多个文本。这就是为什么write函数需要QDataStream实例的原因。如果只保存数据的文本部分是可以的,则可以随时执行以下操作:

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();

关于c++ - 如何使用QTextStream而不是QDataStream进行QTableView的负载保存?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43751118/

10-12 07:36