【发布时间】:2014-08-13 07:40:25
【问题描述】:
我不知道.. 例如,我会有一个文本数据:
名称、值
汉斯,13 岁
彼得,30
我不知道我是怎么读的。。谁能帮帮我?
QString fileName;
fileName = QFileDialog::getOpenFileName(this, tr("Datei Oeffnen"),"",
"Alle Dateien (*.txt)");
//QString in QFile
QFile file (fileName);
//Status ob File gelesen werden kann
if (file.open(QIODevice::ReadOnly | QIODevice::Text))
{
QMessageBox::information(this, tr("ERROR"), tr("Daten konnten icht eingelesen werden"));
return;
}
QTextStream stream (&file);
while (!file.atEnd())
{
QString line = stream.readLine();
QStringList list = line.split(",");
//dont know, because i woult have 2 Strings. because i would add it in my
// Model : meinModel->setData(firstString,secondString);
}
这是我模型的setData 方法:
bool Model::setData(QString name,QString value )
{
beginInsertRows(QModelIndex(), names.size(), names.size());
names.push_back(name);
values.push_back(value);
endInsertRows();
qDebug() << "inhalt name:"<< name;
qDebug() << "inhalt value:"<< name;
std::cout << names.size() << std::endl;
QModelIndex topLeft = createIndex(0,0);
QModelIndex bottomRights = createIndex(names.size()-1,1);
//emit a signal to make the view reread identified data
emit dataChanged(topLeft, bottomRights);
return true;
}
【问题讨论】:
-
也许你应该这样做
meinModel->setData(list.at( 0 ), list.at( 1 ) );?
标签: c++ qtableview model-view