獲取磁碟容量關鍵函式:
void
disksend::getdiskspace(qstring strdisk, double& dtotalbytes,
double& dfreebytes)
//unit : gb
dtotalbytes = ltotalbytestemp.quadpart /
1024.0 / 1024 / 1024;
dfreebytes = ltotalfreebytes.quadpart /
1024.0 / 1024 / 1024;
//總計:xxgb
ui.totallabel->settext(qstring::number(dtotalbytes,
'f', 3));
//剩餘可用:xxgb
ui.freelabel->settext(qstring::number(dfreebytes,
'f', 3));
}
一、磁碟容量檢測
該模組細分三個子模組
(1)通過改變qcommbobox indexcahnged訊號槽,來獲取對應磁碟總容量和所剩可用容量
定義qcommbox訊號槽,獲取磁碟string
connect(ui.combobox,
signal(currentindexchanged(const qstring&)),
this, slot(slotdiskchanged(const
qstring&)));
(2)通過設定定時器,每隔十秒檢測所有磁碟容量並展示出來
定義定時器,每隔10檢測裝置所有磁碟一次
connect(m_timer,
signal(timeout()), this, slot(slotdiskchanged()));
(3)通過udp傳送該裝置所有磁碟資訊
qbytearray
datagram;
qdatastream
out(&datagram, qiodevice::writeonly);
out.setversion(qdatastream::qt_5_5);
out <<
/*qdatetime::currentdatetime() << */dtotalbytes << dfreebytes;
//qdebug() <<
qdatetime::currentdatetime();
qhostaddress
address;
address.setaddress(「192.168.1.67」);
udpsocket->writedatagram(datagram,
address, 5555);
qthread::sleep(1);
二、篩選磁碟內特定檔案
遍歷所有磁碟
遍歷每個磁碟所有資料夾,直至資料夾沒有子節點(即檔案)
注:此時我們找的是指定檔案(test.txt)
根據字首fname
來遍歷查詢 sfiles.basename() ;
void disksend::findspecialfile(qstring strdir, qstringlist filename,qstringfname)
if (sfiles.isfile() == true)}}
//return s;
}
Qt載入磁碟檔案和對檔案內容進行過濾
一 關鍵函式 1,qdir file path 當前檔案路徑 2,qstringlist filelist file entrylist 獲得進入目錄的檔案列表 3,當前程式的目錄 4,qdir setcurrent path 設定當前的目錄 二,例項 1,標頭檔案 ifndef loadfilef...
Qt 遍歷資料夾並篩選的簡單使用
1 遍歷某路徑下的所有檔案 qstring svgpath e qdir dir svgpath dir.setfilter qdir files qdir hidden qdir nosymlinks dir.setsorting qdir size qdir reversed qstringli...
Qt中的 qrc檔案
qt中的qrc檔案 是乙個xml格式的資源配置檔案,與應用程式關聯的應用程式由 qrc 檔案來指定,它用xml記錄硬碟上的檔案和對應的隨意指定的資源名稱,應用程式通過資源名稱來訪問資源。指定的路徑是 qrc 檔案所在目錄的相對路徑。注意,列出的資源檔案必須位於 qrc 檔案所在目錄或者其子目錄下。圖...