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