儲存和恢復應用程式狀態

2021-06-02 12:09:34 字數 1482 閱讀 7836

在實際應用中,常常需要應用程式能儲存程式的狀態以及使用者的設定,如應用程式顯示的大小、位置、背景顏色或使用者設定引數等資訊,以便下次執行程式時,能保持上次關閉的狀態。 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 伺服器在響應請求時將一些資料以 鍵 值...