自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

QT核心編程之會(huì)話(huà)管理 (6)

移動(dòng)開(kāi)發(fā)
會(huì)話(huà)管理器為用戶(hù)發(fā)出命令給它的客戶(hù)。這些命令會(huì)使客戶(hù)提交沒(méi)有保存的變化(如:保存打開(kāi)的文件),使客戶(hù)為將來(lái)的會(huì)話(huà)保存狀態(tài)或關(guān)機(jī)。這樣的一些操作被稱(chēng)為會(huì)話(huà)管理。

QT核心編程之會(huì)話(huà)管理是本節(jié)介紹的內(nèi)容,QT核心編程我們要分幾個(gè)部分來(lái)介紹,想?yún)⒖几鄡?nèi)容,請(qǐng)看末尾的編輯推薦進(jìn)行詳細(xì)閱讀,先來(lái)看本篇內(nèi)容。

一個(gè)會(huì)話(huà)是一組正在運(yùn)行的應(yīng)用程序,它們每個(gè)都一個(gè)特殊的狀態(tài)。會(huì)話(huà)被一個(gè)稱(chēng)為會(huì)話(huà)管理器(Session manager)的服務(wù)程序來(lái)控制。在會(huì)話(huà)里每個(gè)參與的應(yīng)用程序被稱(chēng)為會(huì)話(huà)客戶(hù)。會(huì)話(huà)管理器為用戶(hù)發(fā)出命令給它的客戶(hù)。這些命令會(huì)使客戶(hù)提交沒(méi)有保存的變化(如:保存打開(kāi)的文件),使客戶(hù)為將來(lái)的會(huì)話(huà)保存狀態(tài)或關(guān)機(jī)。這樣的一些操作被稱(chēng)為會(huì)話(huà)管理。

通常情況下,一個(gè)會(huì)話(huà)由用戶(hù)在其桌面上同時(shí)運(yùn)行的所有應(yīng)用程序組成。在Unix/X11下,一個(gè)會(huì)話(huà)可能包括運(yùn)行在不同計(jì)算機(jī)和多個(gè)顯示器上的應(yīng)用程序。

1、會(huì)話(huà)管理

(1)關(guān)閉一個(gè)會(huì)話(huà)

一個(gè)會(huì)話(huà)可以被會(huì)話(huà)管理器關(guān)閉,通常在用戶(hù)logout時(shí)為用戶(hù)關(guān)閉的。一個(gè)系統(tǒng)可以在緊急情況下執(zhí)行自動(dòng)關(guān)閉,例如:在掉電時(shí)。正常關(guān)機(jī)和掉電關(guān)機(jī)有很大的不同,在正常關(guān)機(jī)時(shí),用戶(hù)可能想與應(yīng)用程序交互,并確定哪些文件應(yīng)該保存,哪些應(yīng)該刪除。在掉電關(guān)機(jī)時(shí),沒(méi)有時(shí)間進(jìn)行交互,甚至于用戶(hù)不在現(xiàn)場(chǎng)。

(2)不同平臺(tái)上的協(xié)議和支持

Mac OS X和MS-Windows對(duì)應(yīng)用程序還沒(méi)有完全的會(huì)話(huà)管理,如:沒(méi)法恢復(fù)以前的會(huì)話(huà)。它們支持正常的logout,在得到用戶(hù)確認(rèn)后,應(yīng)用程序有機(jī)會(huì)取消進(jìn)程。這是與QApplication::comm.itData()方法相對(duì)應(yīng)的功能。X11自從X11R6后,支持完整的會(huì)話(huà)管理。

(3)讓會(huì)話(huà)管理與Qt一起工作

通過(guò)重載QApplication::comm.itData()來(lái)使用你的應(yīng)用程序參加正常的logout處理。如果你僅應(yīng)用在MS-Windows平臺(tái)上,就只能提供這個(gè)重載了。你的應(yīng)用程序***提供一個(gè)如圖5的程序關(guān)閉對(duì)話(huà)框。

QT核心編程之會(huì)話(huà)管理

圖5 程序關(guān)閉對(duì)話(huà)框

對(duì)于完全的會(huì)話(huà)管理(目前僅X11R6),你還應(yīng)該關(guān)心應(yīng)用程序的狀態(tài)存儲(chǔ)和下一個(gè)會(huì)話(huà)生命周期恢復(fù)狀態(tài)。

2、測(cè)試和調(diào)試會(huì)話(huà)管理

在Mac OS X和Windows上的會(huì)話(huà)管理支持由于這些操作系統(tǒng)本身的這種功能的缺乏而受到限制。為了簡(jiǎn)單地關(guān)閉會(huì)話(huà)并驗(yàn)證你的應(yīng)用程序是否如期望的那樣執(zhí)行,你***啟動(dòng)一個(gè)其它的應(yīng)用程序。這個(gè)應(yīng)用程序?qū)㈦S后得到關(guān)閉消息,這樣允許你取消關(guān)閉。

在Unix上你能使用一個(gè)支持標(biāo)準(zhǔn)的X11R6會(huì)話(huà)管理,或使用X聯(lián)盟提供的會(huì)話(huà)管理器xsm。xsm是標(biāo)準(zhǔn)X11R6安裝的一部分。它是一個(gè)具有圖形界面的會(huì)話(huà)管理器,你可能用它來(lái)管理會(huì)話(huà)。

下面是使用xsm的一個(gè)簡(jiǎn)單的方法:

(1)運(yùn)行X11R6.

(2)在你的home目錄下將創(chuàng)建僅包含下面一行的.xsmstartup文件:

  1. xterm  

這將告訴xsm的default/failsafe(缺省/失敗安全)會(huì)話(huà)僅有xterm。否則,xsm將嘗試觸發(fā)包括窗口管理器twm在內(nèi)多個(gè)客戶(hù),這沒(méi)有什么用途。

(3)現(xiàn)在從另一個(gè)終端窗口啟動(dòng)xsm。一個(gè)會(huì)話(huà)管理器和xterm將出現(xiàn)。xterm有一個(gè)其它的shell沒(méi)有的屬性:在xterm的shell里,SESSION_MANAGER環(huán)境變量指向了你剛啟動(dòng)的會(huì)話(huà)管理器。

(4)在新的xterm窗口中啟動(dòng)你的應(yīng)用程序,應(yīng)用程序?qū)⒆詣?dòng)連接它到會(huì)話(huà)管理器。你能使用ClientList按鈕檢查連接是否成功。

注意:當(dāng)你啟動(dòng)或關(guān)閉會(huì)話(huà)管理的客戶(hù)時(shí),不要保護(hù)ClientList為打開(kāi)狀態(tài)。否則,xsm可能崩潰。

(5)使用會(huì)話(huà)管理器的Checkpoint和Shutdown按鈕的不同設(shè)置檢查你的應(yīng)用程序執(zhí)行行為。本地保存類(lèi)型表示客戶(hù)端應(yīng)該保存它們的狀態(tài)。它對(duì)應(yīng)著QApplication::saveState()函數(shù)。全局保存類(lèi)型請(qǐng)求應(yīng)用程序保存它們沒(méi)存儲(chǔ)的變化到***的全局可訪(fǎng)問(wèn)的存儲(chǔ)中。它觸發(fā)QApplication::commitData()。

(6)在用戶(hù)桌面上x(chóng)sm是一個(gè)有用的會(huì)話(huà)管理器。作為一個(gè)測(cè)試環(huán)境它是穩(wěn)定的而有用的。

小結(jié):QT核心編程之會(huì)話(huà)管理的內(nèi)容介紹完了,希望本既然內(nèi)容對(duì)你有所幫助,更多資料參考在下面的編輯推薦。

【編輯推薦】

 QT核心編程之Qt模板庫(kù)(1)

QT核心編程之集合類(lèi) (2)

QT核心編程之Qt線(xiàn)程 (3)

QT核心編程之鼠標(biāo)拖放 (4)

QT核心編程之鍵盤(pán)焦點(diǎn) (5)

QT核心編程之調(diào)試技術(shù) (7)

 

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-22 10:12:08

Qt 線(xiàn)程

2011-06-22 09:40:32

QT 模板庫(kù) 模板

2011-06-22 10:27:32

QT 鍵盤(pán) 焦點(diǎn)

2011-06-22 09:58:04

QT 集合類(lèi)

2011-06-22 10:20:11

QT 鼠標(biāo) 拖放

2011-06-22 10:45:21

QT 調(diào)試

2011-06-17 15:19:28

Qt

2012-10-29 13:25:54

JavaScriptJSjQuery

2015-04-24 09:48:59

TCPsocketsocket編程

2011-07-21 10:17:53

java

2014-12-16 09:10:52

IPv4IPv6TCP

2017-02-07 18:34:16

Linux編程PING

2022-02-14 15:07:48

進(jìn)程FileChanne線(xiàn)程

2009-07-08 15:10:00

Servlet會(huì)話(huà)管理

2011-06-24 15:30:22

QT 皮膚 QSS

2011-06-22 16:08:40

Qt 多線(xiàn)程 事件循環(huán)

2011-06-10 12:44:09

2011-06-13 16:51:19

Qt Socket

2011-11-10 10:23:56

Jscex

2011-04-07 10:50:47

數(shù)據(jù)庫(kù)編程注釋規(guī)范
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)