在實際應用中,常常需要應用程式能儲存程式的狀態以及使用者的設定,如應用程式顯示的大小、位置、背景顏色或使用者設定引數等資訊,以便下次執行程式時,能保持上次關閉的狀態。 qt
提供的qsettings
類能很方便地實現儲存程式設定的需求。當創始乙個
qsettings
物件時,必須傳遞公司名或組織名以及應用程式名稱,如下所示:
qsettingssettings("mysoft", "star runner");
如果在應用程式的多個地方用到
qsettings,
可以使用
和來指定組織名和應用程式名。這樣,就可以使用
qsettings
的預設建構函式了。如下所示:
...qsettingssettings;
儲存乙個設定方法如下:
settings.setvalue("editor/wrapmargin",68);
它指定了乙個設定的鍵
(qstring)
和乙個與之關聯的資料
(qvariant)。
讀取乙個設定的方法如下:
intmargin = settings.value("editor/wrapmargin").toint();
上述語句將返回與鍵關聯的資料,如果沒有與該鍵關聯的資料,則返回值為空。
intmargin = settings.value("editor/wrapmargin", 80).toint();
上述語句提供了乙個預設值,即當沒有與鍵關聯的資料時,返回預設值。
關於段和鍵的語法
可以構造層次化的鍵值,使用』
/』作為分隔符
,類似於
unix
檔案路徑,如
: settings.setvalue("mainwindow/size",win->size());
settings.setvalue("mainwindow/fullscreen",win->isfullscreen());
settings.setvalue("outputpanel/visible",panel->isvisible());
如果儲存或恢復的設定的鍵值擁有相同的字首
,那麼可以使用
begingroup()
和endgroup(),
**如下所示:
settings.begingroup("mainwindow");
settings.setvalue("size",win->size());
settings.setvalue("fullscreen",win->isfullscreen());
settings.endgroup();
settings.begingroup("outputpanel");
settings.setvalue("visible",panel->isvisible());
settings.endgroup();
程式的狀態儲存和恢復
開啟狀態儲存和恢復 restorationldentifier uikite 並沒有自動儲存所有關於應用狀態的資訊。你需要告訴uikit你的哪些檢視控制器需要參與進去。你要通過給storyboard中這些檢視控制器分派乙個restoration identifier來實現它。任何擁有restorat...
iOS 應用程式狀態
聯絡人 石虎暱稱 嗡嘛呢叭咪哄 一 ios 應用程式狀態方法 bool 這是程式啟動時呼叫的函式。可以在此方法中加入初始化相關的 return yes void 應用當前正要從前台執行狀態離開時執行的函式。void 此時應用處在 background 狀態,並且沒有執行任何 未來將被掛起進入 sus...
Web應用程式狀態管理
web應用程式狀態管理 一 web狀態管理概述 1 http協議使用的是無狀態的連線 2 對容器而言,每乙個請求都來自於乙個新的客戶 二 狀態管理解決方案 隱藏字段 2 為伺服器端程式提供預定義的輸入。3 儲存動態產生的頁面上下文資訊。三 cookie原理 1 伺服器在響應請求時將一些資料以 鍵 值...