2016-11-12 168 views
0

我給QFile類的一個對象... 但溫調試我看到這是沒有價值... 我該怎麼辦?如何在QT中使用QFile?

mainscrin.cpp

MainScrin::MainScrin(QWidget *parent) : 
QMainWindow(parent), 
ui(new Ui::MainScrin){ 
ui->setupUi(this); 

QMainWindow::statusBar()->showMessage("Welcome...",10000); 
//ui->tableWidget->setStyle(Macintosh); 
double lab22 = ui->tableWidget->StyledPanel; 
ui->label_22->setNum(lab22); 


QTableWidgetItem *item_1=new QTableWidgetItem; 

QString Filename1("bin/bin_1.txt"); 
QStringList str_item1 = StRead(Filename1); 

QString Filename2("bin/bin_2.txt"); 
QStringList str_item2 = StRead(Filename2); 

QString Filename3("bin/bin_3.txt"); 
QStringList str_item3 = StRead(Filename3); 

QString Filename4("bin/bin_4.txt"); 
QStringList str_item4 = StRead(Filename4); 

QString Filename5("bin/bin_5.txt"); 
QStringList str_item5 = StRead(Filename5); 


for(int i=0;i<str_item1.size();i++) 
{ 
    item_1->setText(str_item1[i]); 
    ui->tableWidget->setItem(i+1,1,item_1); 
} 

for(int i=0;i<str_item2.size();i++) 
{ 
    item_1->setText(str_item1[i]); 
    ui->tableWidget->setItem(i+1,2,item_1); 
} 

for(int i=0;i<str_item3.size();i++) 
{ 
    item_1->setText(str_item1[i]); 
    ui->tableWidget->setItem(i+1,3,item_1); 
} 

for(int i=0;i<str_item4.size();i++) 
{ 
    item_1->setText(str_item1[i]); 
    ui->tableWidget->setItem(i+1,4,item_1); 
} 

for(int i=0;i<str_item5.size();i++) 
{ 
    item_1->setText(str_item1[i]); 
    ui->tableWidget->setItem(i+1,5,item_1); 
} 
} 

mainscrin.h

private: 
    Ui::MainScrin *ui; 
    QList<QString> StRead(QString Filename) 
{ 
    QFile m_File(Filename); 

    if(!m_File.open(QFile::ReadWrite | QFile::Text)) 
    { 
     QMessageBox message_file_Read; 
     message_file_Read.warning(0,"Open Error" 
       ,"coude not to open file for Reading"); 
     QList<QString> Erorr; 
     return Erorr; 
    } 

    QList<QString> strings; 

    QTextStream in(&m_File); 
     while (!in.atEnd()) 
     { 
      QString line = in.readLine(); 
      strings.push_back(line); 
     } 

    m_File.close(); 
    return strings; 
} 
}; 

enter image description here

回答

0

我想,你的工作目錄沒有文件夾 '本'。您可以使用applicationFilePath將相對路徑轉換爲絕對路徑。

QString QCoreApplication::applicationFilePath() 

而且還請,看QFile時使用(QFile)的簡單的例子:

QFile file("/proc/modules"); 
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) 
    return; 

QTextStream in(&file); 
QString line = in.readLine(); 
while (!line.isNull()) { 
    process_line(line); 
    line = in.readLine(); 
} 
+0

我有bin文件的目錄,.... – Qasim

+0

看到img文件 – Qasim

0

檢查IDE工作目錄。在大多數情況下,工作目錄與啓動可執行文件的位置不同。