C++ 如何使用QTextStream而不是QDataStream从QTableView进行加载保存?
我是QT的新手,所以当我尝试在linux中使用QDataStream将数据从QTableView加载并保存到txt文件时,我遇到了如下问题:C++ 如何使用QTextStream而不是QDataStream从QTableView进行加载保存?,c++,c,qt,C++,C,Qt,我是QT的新手,所以当我尝试在linux中使用QDataStream将数据从QTableView加载并保存到txt文件时,我遇到了如下问题: QFile ofile("/home/rizi/LearnQT/tes"); ofile.open(QIODevice::ReadWrite | QIODevice::Text); QTextStream out(&ofile); out << line+"\n"; txt文件包含来自tableview的数据 我想要的只是txt文件
QFile ofile("/home/rizi/LearnQT/tes");
ofile.open(QIODevice::ReadWrite | QIODevice::Text);
QTextStream out(&ofile);
out << line+"\n";
txt文件包含来自tableview的数据
我想要的只是txt文件中易于读取的数据,例如:
数据1;数据2
数据3;数据3
那么,如何使用QTextStream而不是QDataStream,因为当我使用QTextStream时,我可以像下面这样用txt编写输出:
QFile ofile("/home/rizi/LearnQT/tes");
ofile.open(QIODevice::ReadWrite | QIODevice::Text);
QTextStream out(&ofile);
out << line+"\n";
QFile文件(“/home/rizi/LearnQT/tes”);
open(QIODevice::ReadWrite | QIODevice::Text);
QTextStream out(&ofile);
out模型中的每个项目都包含多个文本。这就是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();
qint32 n(model->rowCount()),m(model->columnCount());
你有代码吗?我找不到从QTableView中获取QIODevice的可能性,或者您的模型是否可以?以下是我要从QTableView打印到txt文件的代码:QFile文件(“/home/rizi/TableView/tes”);if(file.open(QIODevice::WriteOnly)){QDataStream(&file);qint32 n(model->rowCount()),m(model->columnCount());stream我只是好奇如何使用QTextStream从QTableView打印数据,以便其他用户可以轻松地读取txt中的数据。我以前尝试过,但没有成功,所以我将代码改为:…stream item(I,j)->write(stream)
当我将数据从listview写入txt时没有任何问题,但是tableview让我很生气。stream item(I,j)->write(stream);这是错误的。->write(stream);部分不是必需的