我寫了下面的代碼來從文件中檢索數據(因爲我在Windows操作系統中已經存在並且給出了permision),並且創建了在列表中顯示數據片段的項目,但是列表不會顯示任何東西。更重要的是,即使文件沒有創建,FILE.EXISTS()函數也返回true。爲什麼這樣呢?QFile沒有打開
void MainWindow::on_listWidget_itemClicked(QListWidgetItem *item)
{
ui->listWidget_2->clear();
QListWidgetItem *itm=new QListWidgetItem;
ui->commentbutton->setEnabled(true);
QFile files("E:/"+QString::number(ui->listWidget->currentRow())+"com.txt");
if(files.exists())
{
if(!files.open(QFile::ReadOnly | QFile::Text))
{
QMessageBox::warning(this,"File Access!!!","The File containing data of the Items and Comments can't be acessed",QMessageBox::Ok);
return;
}
QTextStream in(&files);
QString data(in.readLine());
int x=0;
QString temp;
for(int i=0;;i++)
{
if(data.at(i)!='@' && data.at(i+1)!='#')
{
temp[x]=data.at(i);
x++;
}
else
if(data.at(i)=='@' && data.at(i+1)=='#')
{
x=0;
i++;
itm->setText(temp);
ui->listWidget_2->addItem(itm);
}
if(data.end())
break;
}
files.close();
}
的路徑,在該文件生成顯示:
這是存儲在0com.txt文件(註釋文件)中的數據: 紐約@#倫敦@# 感謝您的時間!
並沒有真正意義。你是如何確定代碼中生成的路徑實際上是你認爲的?你能更新你的代碼來顯示生成的路徑嗎? – Mat 2012-03-04 13:19:44
這是一條固定路徑。我不改變這個文件存儲路徑。唯一改變的是與列表中的項目號碼相關,以便當前選擇的項目的註釋顯示在另一個列表中。 – scorpion 2012-03-04 13:23:11
當open()失敗時,files.error()會返回什麼? http://qt-project.org/doc/qt-4.8/qfile.html#error – 2012-03-04 13:24:39