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

正文內(nèi)容

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

2025-04-07 06:33本頁面
  

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