freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

qt嵌入式圖形開發(fā)(入門篇)-資料下載頁

2025-04-07 06:33本頁面
  

【正文】 時(shí)包含有對話框和主窗口的應(yīng)用,其中主窗口可以放置菜單,工具欄,旁述幫助等等的子窗口部件。Qt圖形設(shè)計(jì)器提供了幾種表單模板,如果窗體會被多個不同的應(yīng)用反復(fù)使用,那么開發(fā)者也可建立自己的表單模板,以確保窗體的一致性。Qt 圖形設(shè)計(jì)器使用向?qū)韼椭藗兏旄奖愕慕泄ぞ邫?、菜單和?shù)據(jù)庫等方面的應(yīng)用。程序員可以建立自己的客戶窗體,并把它集成到Qt圖形設(shè)計(jì)器中。Qt 圖形設(shè)計(jì)器設(shè)計(jì)的圖形界面以擴(kuò)展名為“ui”的文件進(jìn)行保存,這個文件有良好的可讀性,這個文件可被uic(Qt提供的用戶接口編譯工具)編譯成為C++的頭文件和源文件。Qmake 工具在它為工程生成的Makefile文件中自動的包含了uic 生成頭文件和源文件的規(guī)則。 另一種可選的做法是,在應(yīng)用程序運(yùn)行期間載入ui 文件,然后把它轉(zhuǎn)變?yōu)榫邆湓热抗δ艿谋韱?。這樣開發(fā)者就可以在程序運(yùn)行期間動態(tài)修改應(yīng)用的界面,而不需重新編譯應(yīng)用,另一方面,也使得應(yīng)用的文件尺寸減小了。 2. 4. 3 建立對話框Qt 為許多通用的任務(wù)提供了現(xiàn)成的包含了實(shí)用的靜態(tài)函數(shù)的對話框類,下邊是一些Qt 的標(biāo)準(zhǔn)的對話框的截屏圖。QmessageBox類是一個用于向用戶提供信息或是給用戶進(jìn)行一些簡單選擇(例如“yes”或“no”)的對話框類。圖十五 一個QMessageBox對話框progressDialog對話框包含了一個進(jìn)度欄和一個“Cancel”按鈕圖十六 一個QprogressDialog對話框 Qwizard類提供了一個向?qū)υ捒虻目蚣軋D十七 一個向?qū)ь怮t提供的對話框還包括QColorDialog, QFileDialog, QFontDialog 和 QprintDialog 。這些類通常適用于桌面應(yīng)用,一般不會在Qt/Embedded中 編譯使用它們。2.5 外形與感覺 Qt桌面應(yīng)用隨著執(zhí)行環(huán)境(例如Windows XP, Mac OS X, Linux )的不同而具有不同的樣式,或者叫做外形與感覺。Qt/Embedded 的應(yīng)用可以使用不同操作環(huán)境提供的樣式,也可以以靜態(tài)或插件的方式使用客戶樣式。開發(fā)者可以設(shè)計(jì)自己窗體的樣式和窗口裝飾。 2.5.1 窗體樣式 一個樣式是一個實(shí)現(xiàn)Qt窗體外形與視覺效果的類Qstyle 的子類。Qt/Embedded 程序員可以自由的使用和修改目前存在的樣式,也可以使用Qt樣式設(shè)計(jì)引擎實(shí)現(xiàn)自己的樣式。目前Qt/Embedded提供的樣式類型有EmbeddedareWindows, Motif, MotifPlus,CDE, Platinum 和 SGI。樣式可以被動態(tài)的設(shè)置到一個應(yīng)用中,甚至可以設(shè)置到特定的窗體上。圖十八 以不同樣式建立的下拉框 通過給一組相關(guān)的應(yīng)用編寫一個客戶樣式,可以讓這些應(yīng)用的外觀具有與眾不同的感覺。建立客戶樣式可以通過子類化QStyle,QmonStyle或者QmonStyle的派生類來實(shí)現(xiàn)。通過重新實(shí)現(xiàn)現(xiàn)有樣式基類的一兩個虛函數(shù)可以很容易對現(xiàn)有樣式做一些小的修改。一個樣式可以編譯成為一個插件,在Qt 圖形設(shè)計(jì)器中,把樣式做成插件的話,開發(fā)者就可以以設(shè)備的客戶樣式來預(yù)覽設(shè)計(jì)出來的表單。樣式插件使得開發(fā)者不需重新編譯就可改變設(shè)備的外觀。圖十九 Qstyle 的繼承圖Qt發(fā)布的窗體都是樣式已知的,當(dāng)它們的樣式改變后,窗體會自動重繪??蛻舸绑w和對話框大多數(shù)都是Qt原先發(fā)布的窗體和布局的重新整合。它們也是自動的獲得原先的樣式。在少數(shù)場合,當(dāng)有必要寫一個外觀上很隨意的窗體時(shí),開發(fā)者可以使用QStyle去寫一些用戶接口元素,而不是直接的繪制固有的矩形。 2.5.2 窗口裝飾 頂級窗口的裝飾是由一個標(biāo)題欄和一個框架組成的。Qt/Embedded 包括了這些窗口樣式:BeOS, Hydro, KDE 和 Windows。圖二十 不同的平臺上的窗口風(fēng)格如果需要的話,我們可以配置不同的窗口使用不同的窗口裝飾。通過子類化QWSDecoration ,我們可以建立客戶的裝飾樣式,并且把它們以插件的形式進(jìn)行發(fā)布。為了在窗口管理器之外進(jìn)行更多的控制行為,開發(fā)者需要子類化QWSManager 。2.6 國際化Qt/Embedded完全支持Unicode,一個國際標(biāo)準(zhǔn)的字符集。開發(fā)者在他們的應(yīng)用中可以自由的混合使用被Unicode字符集支持的語言,例如阿拉伯文,英文,中文,希伯來文,日文和俄文等。為了有助于公司將產(chǎn)品推向國際市場,Qt還提供了將應(yīng)用翻譯成支持多種語言環(huán)境的工具。2.6.1 Unicode Qt 使用QString 存儲Unicode 編碼的字符串,Qstring 取代了粗糙的const char *;它提供了用于處理Qstring 和const char *之間相互轉(zhuǎn)換的構(gòu)造函數(shù)和操作符。因?yàn)镼t使用了隱式共享(寫時(shí)復(fù)制)技術(shù)來減少內(nèi)存的使用,所以直接復(fù)制Qstring 的值是不會產(chǎn)生問題的。為有效率的存儲ASII 碼字符串,Qt 還提供了QCString類。Qt 為所有要顯示在屏幕上的文本,包括最簡單的文字標(biāo)簽到最復(fù)雜的寬文本編輯器,提供了一個強(qiáng)大的Unicode文本呈現(xiàn)引擎。這個引擎支持一些先進(jìn)的特征,例如特殊的間隔線、雙向?qū)懞蛥^(qū)別標(biāo)記。它幾乎支持世界上所有的書寫系統(tǒng),包括阿拉伯文,中文,古斯拉夫文,英文,希臘文,希伯來文,日文,韓文,拉丁和越南文。體現(xiàn)這個引擎的最優(yōu)化性能的常用的例子就是:在帶有加速功能的文字的下方顯示一條下劃線(例如File)。QtextCodec 的子類用于處理不同編碼類型的字符集之間的轉(zhuǎn)換。Qt 種不同的編碼方式,包括中文的Big5 和GBK,日文的EUCJP、JIS和ShiftJIS,俄羅斯的KOI8R和ISO 8859 系列。它們可以以庫的一部分或者插件的形式編譯,或者使用“feature”機(jī)制去除這些編譯。 2.6.2 應(yīng)用的翻譯Qt 提供了相應(yīng)的工具和函數(shù)用于幫助開發(fā)者以他們的本地語言推出應(yīng)用。要使一個字符串可以被翻譯,你需要把這個字符串作為一個參數(shù)放到tr()函數(shù)中調(diào)用。例如: saveButtonsetText( tr(Save) )。 Qt 嘗試尋找字符串Save的譯文,如果找到的話,就會把它的譯文顯示出來,如果找不到,就用原來的字符串Save進(jìn)行顯示。例如我們把英文作為源語言,現(xiàn)在我們要把這個源語言翻譯成中文,即中文為翻譯的目標(biāo)語言,以此類推。這樣當(dāng)我們調(diào)用tr()函數(shù)后,函數(shù)的參數(shù)的原先的缺省編碼就會轉(zhuǎn)變?yōu)閁nicode編碼。Tr()函數(shù)的通常用法為:Context::tr(source text, ment) 上面的“Context” 是指一個QObject 對象的子類的名稱。如果在一個包含了tr()成員函數(shù)的類的上下文環(huán)境中使用tr()函數(shù)時(shí),“Context”通??梢允÷缘?。例如:Context::func1() { setText( tr(Save) )。 } “source text”是指要翻譯的文本的內(nèi)容“ment”是一個可選項(xiàng),它用于給手工翻譯者提供一些額外的信息。說了半天,還有一個重要的內(nèi)容我們沒談,就是tr()函數(shù)如何尋找到譯文。我們要把一個源字符串翻譯為和它對應(yīng)的譯文(目標(biāo)語言的字符串)時(shí),我們需要讓Qt 知道這些譯文放在哪里。Qt 規(guī)定了譯文存儲在QTranslator 對象中,這個對象是從一個內(nèi)存映射文件(擴(kuò)展名為pm)中讀取譯文。每個pm文件包含了某種語言的譯文信息。所以開發(fā)者需要建立一個pm文件來存儲應(yīng)用中需要翻譯的字符串的譯文。 Qt 提供了3 種工具幫助人們建立譯文存儲文件(.pm文件),這3個工具是lupdate, Qt Linguist 和 lrelease. lupdate 自動地從源代碼文件(.cpp)和界面接口文件(.ui)中獲取所有需要翻譯的對象,即上述的(“Context”);同時(shí)還獲取要翻譯的所有的字符串(源語言的字符串),即上述的“source text”?!癿ent”選項(xiàng)如果被使用的話,也會被納入收集的范圍。當(dāng)這些信息收集完畢后,lupdate 文件(翻譯源文件),這個文件是直接可閱讀的。 開發(fā)者使用Qt Linguist (翻譯源文件),然后開發(fā)者根據(jù)每一個source text填寫上相對應(yīng)的譯文,(翻譯源文件)就包含了完整的“Context”,“source text”和譯文信息。 文件(翻譯源文件) 文件(譯文存儲文件)。在一個應(yīng)用的生存期間里,上述的步驟有可能根據(jù)需要會被反復(fù)執(zhí)行。多次運(yùn)行l(wèi)update 是很安全的,你可以重復(fù)使用已經(jīng)存在的譯文(.pm)文件,或者當(dāng)你不想使用某些翻譯文件時(shí)你可以標(biāo)記這些翻譯源文件為舊文件,而不需要刪除它們
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1