Qt學習筆記之QTemporaryFile

2021-10-02 12:47:13 字數 1889 閱讀 5131

header:

#include

qmake:

qt += core

inherits:

qfile

qtemporaryfile(const qstring &templatename, qobject *parent)

qtemporaryfile(qobject *parent)

qtemporaryfile(const qstring &templatename)

qtemporaryfile()

virtual

~qtemporaryfile()

bool

autoremove() const

qstring

filetemplate() const

bool

open()

void

setautoremove(bool b)

void

setfiletemplate(const qstring &name)

virtual qstring

filename() const override

qtemporaryfile *

createnativefile(qfile &file)

qtemporaryfile *

createnativefile(const qstring &filename)

virtual bool

open(qiodevice::openmode flags) override

qtemporaryfile用於安全地建立唯一的臨時檔案。檔案本身是通過呼叫open()建立的。臨時檔案的名稱保證是唯一的(即,保證您不會覆蓋現有檔案),並且隨後在銷毀qtemporaryfile物件時將刪除該檔案。這是一項重要技術,可以避免將資料儲存在臨時檔案中的應用程式破壞資料。檔名可以自動生成,也可以基於模板建立,該模板將傳遞給qtemporaryfile的建構函式。

例:

// within a function/method...

qtemporaryfile file;

if (file.open())

// the qtemporaryfile destructor removes the temporary file

// as it goes out of scope.

呼叫close()後重新開啟qtemporaryfile是安全的。只要qtemporaryfile物件本身沒有被破壞,唯一的臨時檔案就將存在並由qtemporaryfile在內部保持開啟狀態。

可以通過呼叫filename()找到臨時檔案的檔名。請注意,僅在首次開啟檔案後才定義。該函式在此之前返回乙個空字串。

指定的檔名可以包含以下模板******(六個大寫的「 x」字元),這些模板將由檔名的自動生成的部分替換。請注意,模板區分大小寫。如果檔名中不存在模板,則qtemporaryfile將生成的部分附加到給定的檔名中。

另請參見qdir :: temppath()和qfile。 {

qtemporaryfile tmpfile(strfilename);

tmpfile.setautoremove(false);

qdebug() <

QT學習筆記之QT網路程式設計

tcp 傳輸控制協議,提供的是面向連線 可靠的位元組流服務。當客戶和伺服器彼此交換資料前,必須先在雙方之間建立乙個tcp連線,之後才能傳輸資料。tcp提供超時重發,丟棄重複資料,檢驗資料,流量控制等功能,保證資料能從一端傳到另一端。udp 使用者資料報協議,是乙個簡單的面向資料報的運輸層協議。udp...

Qt學習筆記之Hello World

用qt的第乙個程式必然是怎樣輸出hello world 1 在命令列中顯示hello world 首先建立乙個控制台應用程式,其他都是預設設定balabala。新建完成後,在main.cpp中新增顯示輸出 具體 如下 中新增了這兩行 顯示輸出hello world 這裡遇到乙個小問題,如下 1 er...

Qt學習筆記之QTranslator

qtranslator類為文字輸出提供國際化支援。此類的乙個物件包含一組從源語言到目標語言的轉換。qtranslator提供了在翻譯檔案中查詢翻譯的功能。翻譯檔案是使用qt linguist建立的。int main int argc,char ar 注意 qtranslator必須在應用程式的小部件...