簡體   English   中英

如何將文本文件加載到 QListwidget 並將其保存回來

[英]How do i load a textfile to QListwidget and also save it back

我如何將文本文件加載到 QListWidget 中,以便文本文件中的每一行都是 QListWidget 中的一個項目,

並且一旦我填充它,我還想將 listwidget 的所有項目保存到一個文本文件中,這樣 listwidget 的每個項目都在文本文件中的一行中,以實現我正在嘗試這個

QString temp;
  for(int i=0; i< ui->mylistwidget->count();i++)
{
QListWidgetItem* item = ui->mylistwidget->item(i);
temp += item->text();
}
std::string total_script = temp.toStdString();

我在一個字符串中得到了 listwidget 項目的所有文本,如果我想將它保存在一個文本文件中,下一步該怎么做? 以及如何加載文本文件並用項目填充我的 qlistwidget?

Qt 提供 QFile 和 QSaveFile 類,方便文件輸入/輸出操作。 QSaveFile 的特殊之處在於它只會在您提交時(覆蓋)寫入目標文件。 對於解析和寫入文件內容,您可以使用 QTextStream,它將文件內容公開為 stream,您可以從中讀取或寫入,包括各種變量類型的轉換。

從文件導入:

  1. 使用 QFile 打開文件
  2. 以文件為參數構造 QTextStream
  3. 在 while 循環中使用QTextStream::readLine()來讀取行並創建項目

對於導出到文件:

  1. 使用 QSaveFile,再次在文件上構造 QTextStream
  2. 在您的循環中,使用QTextStream::operator<<到 append 項目文本到 stream
  3. 在文件上調用commit()以便寫入

沒有循環的例子:

QSaveFile fileOut(filename);
QTextStream out(&fileOut);
out << "Qt rocks!" << Qt::endl; // do this for every item
fileOut.commit()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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