天天看點

Qt-QML-C++互動實作檔案IO系統-後繼-具體檔案IO的實作

檔案結構如圖

Qt-QML-C++互動實作檔案IO系統-後繼-具體檔案IO的實作

在QML中調用這個類了,就見簡單的讀取了一個JSON資料的一個屬性值。

重點看下我的檔案IO Cpp檔案

QJsonObject DLFileIOSystem::DLReadFile()

{

   //這裡将實作檔案的打開并從檔案中讀取内容

   QFile file("./config.ini");

   if(!file.open(QIODevice::ReadWrite | QIODevice::Text))

   {

       QMessageBox::warning(NULL,"警告","打開檔案失敗");

   }

   else

       QTextStream filestream(&file);

       QString line;

       while (filestream.readLineInto(&line))

       {

           qDebug()<

       }

   file.close();

   QJsonObject date;

   return fileDate;

}

bool DLFileIOSystem::DLWriteFile()

   //這裡将實作檔案的寫入和關閉檔案

       QMessageBox::warning(NULL,"警A告","打開檔案失敗");

       QStringList keylist = fileDate.keys();

       for (int i = 0; i

           filestream << keylist.value(i) + " : " + fileDate.value(keylist.value(i)).toString() + "\r\n";

//            filestream << keylist.value(i) << " : " << fileDate.value(keylist.value(i)) << "\r\n";

   QMessageBox::warning(NULL,"提示","檔案寫入完成");

   return true;

兩個檔案,一個讀檔案,一個寫檔案。

都是采用檔案流的來讀寫,這裡在讀檔案資料的方面,目前隻是一行一行的從檔案中将資料讀取出來,還沒有寫将資料封裝成JSON資料包發送給QML

看下運作截圖

Qt-QML-C++互動實作檔案IO系統-後繼-具體檔案IO的實作

這是當我點選打開檔案時,顯示的程式運作截圖

下面是當我點選關閉檔案是,顯示的運作截圖

Qt-QML-C++互動實作檔案IO系統-後繼-具體檔案IO的實作

剩下的還在完善中,後期可能會加入對XML文檔的支援