Qt圖形編程基礎(chǔ)之:Qt/Embedded開(kāi)發(fā)入門
4.旁述
現(xiàn)在的應(yīng)用主要使用旁述的方式去解釋用戶接口的用法。Qt提供了兩種旁述的方式,即“提示欄”和“這是什么”幫助按鈕。
n “提示欄”是小的,通常是黃色的矩形,當(dāng)光標(biāo)在窗體的某些位置游動(dòng)時(shí),它就會(huì)自動(dòng)地出現(xiàn)。它主要用于解釋工具欄按鈕,特別是那些缺少文字標(biāo)簽說(shuō)明的工具欄按鈕的用途。下面就是如何設(shè)置一個(gè)“存盤”按鈕的提示代碼。
QToolTip::add(saveButton,Save);
當(dāng)提示字符出現(xiàn)之后,還可以在狀態(tài)欄顯示更詳細(xì)的文字說(shuō)明。
對(duì)于一些沒(méi)有鼠標(biāo)的設(shè)備(例如那些使用觸點(diǎn)輸入的設(shè)備),就不會(huì)出現(xiàn)鼠標(biāo)的光標(biāo)在窗體上進(jìn)行游動(dòng),這樣就不能激活提示欄。對(duì)于這些設(shè)備也許就需要使用“這是什么”幫助按鈕,或者使用一種狀態(tài)來(lái)表示輸入設(shè)備正在進(jìn)行游動(dòng),例如用按下或者握住的狀態(tài)來(lái)表示現(xiàn)在正在進(jìn)行游動(dòng)。
n “這是什么”幫助按鈕和提示欄有些相似,只不過(guò)前者是要用戶單擊它才會(huì)顯示旁述。在小屏幕設(shè)備上,要想單擊“這是什么”幫助按鈕,具體的方法是,在靠近應(yīng)用的X窗口的關(guān)閉按鈕“x”附近你會(huì)看到一個(gè)“?”符號(hào)的小按鈕,這個(gè)按鈕就是“這是什么”的幫助按鈕。一般來(lái)說(shuō),“這是什么”幫助按鈕按下后要顯示的提示信息應(yīng)該比提示欄要多一些。下面是設(shè)置一個(gè)存盤按鈕的“這是什么”文本提示信息的方法:
QWhatsThis::add(saveButton,Savethecurrentfile.);
QToolTip和QWhatsThis類提供了可以通過(guò)重新實(shí)現(xiàn)來(lái)獲取更多特殊化行為的虛函數(shù),比如根據(jù)鼠標(biāo)在部件的位置來(lái)顯示不同的文本。
5.動(dòng)作
應(yīng)用程序通常提供幾種不同的方式來(lái)執(zhí)行特定的動(dòng)作。比如,許多應(yīng)用程序通過(guò)菜單(Flie->Save)、工具欄(像一個(gè)軟盤的按鈕)和快捷鍵(Ctrl+S)來(lái)提供“Save”動(dòng)作。QAction類封裝了“動(dòng)作”這個(gè)概念。它允許程序員在某個(gè)地方定義一個(gè)動(dòng)作。
下面的代碼實(shí)現(xiàn)了一個(gè)“Save”菜單項(xiàng)、一個(gè)“Save”工具欄按鈕和一個(gè)“Save”快捷鍵,并且均有旁述幫助:
QAction*saveAct=newQAction(Save,saveIcon,Save,CTRL+Key_S,this);
connect(saveAct,SIGNAL(activated()),this,SLOT(save()));
saveAct->setWhatsThis(Savesthecurrentfile.);
saveAct->addTo(fileMenu);
saveAct->addTo(toolbar);
為了避免重復(fù),使用QAction可保證菜單項(xiàng)的狀態(tài)與工具欄保持同步,而工具提示能在需要的時(shí)候顯示。禁用一個(gè)動(dòng)作會(huì)禁用相應(yīng)的菜單項(xiàng)和工具欄按鈕。類似地,當(dāng)用戶單擊切換型按鈕時(shí),相應(yīng)的菜單項(xiàng)會(huì)因此被選中或不選。
12.2.6Qt/Embedded對(duì)話框設(shè)計(jì)
Qt/Embedded對(duì)話框的設(shè)計(jì)比較復(fù)雜,要使用布局管理自動(dòng)地設(shè)置窗體與別的窗體之間相對(duì)的尺寸和位置,這樣可以確保對(duì)話框能夠最好地利用屏幕上的可用空間,接著還要使用Qt圖形設(shè)計(jì)器可視化設(shè)計(jì)工具建立對(duì)話框。下面就詳細(xì)講解具體的步驟。
1.布局
Qt的布局管理用于組織管理一個(gè)父窗體區(qū)域內(nèi)的子窗體。它的特點(diǎn)是可以自動(dòng)設(shè)置子窗體的位置和大小,并可確定出一個(gè)頂級(jí)窗體的最小和缺省的尺寸,當(dāng)窗體的字體或內(nèi)容變化后,它可以重置一個(gè)窗體的布局。
使用布局管理,開(kāi)發(fā)者可以編寫?yīng)毩⒂谄聊淮笮『头较蛑獾某绦?,從而不需要浪費(fèi)代碼空間和重復(fù)編寫代碼。對(duì)于一些國(guó)際化的應(yīng)用程序,使用布局管理,可以確保按鈕和標(biāo)簽在不同的語(yǔ)言環(huán)境下有足夠的空間顯示文本,不會(huì)造成部分文字被剪掉。
布局管理提供部分用戶接口組件,例如輸入法和任務(wù)欄變得更容易。我們可以通過(guò)一個(gè)例子說(shuō)明這一點(diǎn),當(dāng)Qtopia的用戶輸入文字時(shí),輸入法會(huì)占用一定的文字空間,應(yīng)用程序這時(shí)也會(huì)根據(jù)可用屏幕尺寸的變化調(diào)整自己。
Qtopia的布局管理示例如圖12.11所示。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關(guān)文章:linux教程
評(píng)論