[英]Why QFileDialog::getOpenFileName doesn't work?
在String中,路径是正确的,但是它不会在我的table中放置字符串。 没有错误或警告。 例如,当我这样做时:
meinModel->setData(filename, filename);
它查看字符串:E:/test.txt
我有一个QTableView和QAbstractTableModel。
void View::OpenFileButtonClicked()
{
QString filename = QFileDialog::getOpenFileName(0, QString(), QString()
,tr("Data (*.txt)"));
fileMy = new QFile(filename);
QTextStream stream (&*fileMy);
while (!stream.atEnd())
{
QString line = stream.readLine();
QStringList list = line.split(",");
QString firststring;
firststring = (list.first());
QString secondstring;
secondstring = (list.last());
// Strings are sent to Model which view they in my tableview.
meinModel->setData(firststring, secondstring);
}
}
奇怪,因为这可行:
void View::FileButtonClicked()
{
QString fileName;
if (txtPfad->text().length() > 0 )
{
fileMy = new QFile(txtPfad->text());
}
else
{ fileMy = new QFile("E:\\test.txt"); }
if (!fileMy->open(QIODevice::ReadOnly | QIODevice::Text))
{
QMessageBox::information(this, tr("ERROR"), tr("Daten konnten icht eingelesen werden"));
return;
}
QTextStream stream (&*fileMy);
while (!stream.atEnd())
{
QString line = stream.readLine();
QStringList list = line.split(",");
QString firststring;
firststring = (list.first());
QString secondstring;
secondstring = (list.last());
meinModel->setData(firststring, secondstring);
}
}
您错过了在OpenFileButtonClicked
打开文件的OpenFileButtonClicked
:
if (!fileMy->open(QIODevice::ReadOnly | QIODevice::Text))
{
QMessageBox::information(this, tr("ERROR"), tr("Daten konnten icht eingelesen werden"));
return;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.