新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Qt圖形編程基礎之:Qt/Embedded開發(fā)入門

Qt圖形編程基礎之:Qt/Embedded開發(fā)入門

作者: 時間:2013-09-13 來源:網(wǎng)絡 收藏

本文引用地址:http://butianyuan.cn/article/257103.htm

4.旁述

現(xiàn)在的應用主要使用旁述的方式去解釋用戶接口的用法。Qt提供了兩種旁述的方式,即“提示欄”和“這是什么”幫助按鈕。

n “提示欄”是小的,通常是黃色的矩形,當光標在窗體的某些位置游動時,它就會自動地出現(xiàn)。它主要用于解釋工具欄按鈕,特別是那些缺少文字標簽說明的工具欄按鈕的用途。下面就是如何設置一個“存盤”按鈕的提示代碼。

QToolTip::add(saveButton,Save);

當提示字符出現(xiàn)之后,還可以在狀態(tài)欄顯示更詳細的文字說明。

對于一些沒有鼠標的設備(例如那些使用觸點輸入的設備),就不會出現(xiàn)鼠標的光標在窗體上進行游動,這樣就不能激活提示欄。對于這些設備也許就需要使用“這是什么”幫助按鈕,或者使用一種狀態(tài)來表示輸入設備正在進行游動,例如用按下或者握住的狀態(tài)來表示現(xiàn)在正在進行游動。

n “這是什么”幫助按鈕和提示欄有些相似,只不過前者是要用戶單擊它才會顯示旁述。在小屏幕設備上,要想單擊“這是什么”幫助按鈕,具體的方法是,在靠近應用的X窗口的關閉按鈕“x”附近你會看到一個“?”符號的小按鈕,這個按鈕就是“這是什么”的幫助按鈕。一般來說,“這是什么”幫助按鈕按下后要顯示的提示信息應該比提示欄要多一些。下面是設置一個存盤按鈕的“這是什么”文本提示信息的方法:

QWhatsThis::add(saveButton,Savethecurrentfile.);

QToolTip和QWhatsThis類提供了可以通過重新實現(xiàn)來獲取更多特殊化行為的虛函數(shù),比如根據(jù)鼠標在部件的位置來顯示不同的文本。

5.動作

應用程序通常提供幾種不同的方式來執(zhí)行特定的動作。比如,許多應用程序通過菜單(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);

為了避免重復,使用QAction可保證菜單項的狀態(tài)與工具欄保持同步,而工具提示能在需要的時候顯示。禁用一個動作會禁用相應的菜單項和工具欄按鈕。類似地,當用戶單擊切換型按鈕時,相應的菜單項會因此被選中或不選。

12.2.6對話框設計

對話框的設計比較復雜,要使用布局管理自動地設置窗體與別的窗體之間相對的尺寸和位置,這樣可以確保對話框能夠最好地利用屏幕上的可用空間,接著還要使用Qt圖形設計器可視化設計工具建立對話框。下面就詳細講解具體的步驟。

1.布局

Qt的布局管理用于組織管理一個父窗體區(qū)域內(nèi)的子窗體。它的特點是可以自動設置子窗體的位置和大小,并可確定出一個頂級窗體的最小和缺省的尺寸,當窗體的字體或內(nèi)容變化后,它可以重置一個窗體的布局。

使用布局管理,開發(fā)者可以編寫獨立于屏幕大小和方向之外的程序,從而不需要浪費代碼空間和重復編寫代碼。對于一些國際化的應用程序,使用布局管理,可以確保按鈕和標簽在不同的語言環(huán)境下有足夠的空間顯示文本,不會造成部分文字被剪掉。

布局管理提供部分用戶接口組件,例如輸入法和任務欄變得更容易。我們可以通過一個例子說明這一點,當Qtopia的用戶輸入文字時,輸入法會占用一定的文字空間,應用程序這時也會根據(jù)可用屏幕尺寸的變化調(diào)整自己。

Qtopia的布局管理示例如圖12.11所示。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

linux相關文章:linux教程




評論


相關推薦

技術專區(qū)

關閉