簡體   English   中英

為什么QFileDialog :: getOpenFileName不起作用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM