




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
QT簡介QT的優(yōu)點QTE簡介Qtopia簡介QT開發(fā)環(huán)境一個簡單的QT程序1Qt是Trolltech公司的一個產品。
Qt是一個多平臺的C++圖形用戶界面應用程序框架。它提供給應用程序開發(fā)者建立藝術級的圖形用戶界面所需的所有功能。Qt是完全面象的很容易擴展,并且允許真正地組件編程。23Qt支持下述平臺:MS/Windows-95、98、NT
4.0、ME、和2000Unix/X11-Linux、Sun
Solaris、HP-UX、Compaq
Tru64
UNIX、IBM
AIX、SGIIRIX和其它很多X11平臺Macintosh
-
Mac
OS
XEmbedded-有幀緩沖(framebuffer)支持的Linux平臺。Qt企業(yè)版和Qt專業(yè)版提供給商業(yè)開發(fā)。它們提供傳統(tǒng)商業(yè)
版并且提供免費升級和技術支持服務。Qt
版是Qt僅僅為了開發(fā)
和開放源碼提供的Unix/X11版本。在GPL協(xié)議下下,它是免費的。Qt/E
版是Qt為了開發(fā)
提供的版本。在GPL協(xié)議下,它是免費的。4基
GPL(GNU通用公共金會 的用于計算機證),是由的 證。?
最初由Richard
Stallman為GNU計劃而撰寫。目前大多數(shù)的GNU程序和超過半數(shù)的 使用此
證。5
GPL授予程序接受人以下權利,或稱“自由”:以任何目的運行此程序的
;
以學習程序工作機理為目的,對程序進行修改的
(能得到源代碼是前提);再
件的
;
改進此程序,并公開發(fā)布改進的
(能得到源代碼是前提)67
可移植性:QT不僅適用于UNIX,同樣適用于Windows。為了同時擁有世界上幾百萬UNIX用戶以及幾百萬的Windows用戶,最好的辦法是采用一個既適用于UNIX,又適用于Windows的GUI工具包,其答案是QT。?
易用性:QT是一個C++工具包,它由幾百個C++類構成,你在程序中可以使用這些類。因為C++是面
象的編程語言,而QT是基于C++構造,所以QT具有OOP的所有優(yōu)點。8
運行速度:QT非常容易使用,且也具有很快的速度。QT的易用性和快速是密不可分的。這一優(yōu)點要歸功于QT開發(fā)者的辛苦工作,他們花費了大量的時間來優(yōu)化他們的產品。QT比其他許多GUI工具包運行速度快的原因是其實現(xiàn)方式。QT是一個GUI仿真工具包,即它不使用本地工具包作調用,而是使用各自平臺上的低級繪圖函數(shù),從而提高程序速度。
Qt/Embedded(簡稱Qt/E)是一個專門為嵌入式系統(tǒng)設計圖形用戶界面的工具包。Qt/E就是Qt的
版本。9使用QtE,開發(fā)者可以:用QtE開發(fā)的應用程序要移植到不同,只需要重新編譯代碼,而不需要對代碼進行修改??梢噪S意設置程序界面的外觀??梢苑奖愕貫槌绦蜻B接數(shù)據庫。可以使程序本地化。可以將程序與Java集成。10?系統(tǒng)地要求是小而快速,而Qt/E就能幫助開發(fā)者為滿足這些要求開發(fā)強壯地應用程序。
Qt/E是模塊化和可裁剪地。開發(fā)者可以選取他所需要的一些特性,而裁剪掉所不需要的。這樣,通過選擇所需要的特性,Qt/E的映像變得很小,最小只有600K左右。1112同Qt一樣,QtE也是用C++寫的,雖然這樣會增加系統(tǒng)資源消耗,但是卻為開發(fā)者提供了清潔的程序框架,使開發(fā)者能夠迅速上手,并且能夠方便地編寫自定義的用戶界面程序。
由于QtE是作為一種產品推出,所以它有很好的開發(fā)團體和技術支持,這對于使用QtE的開發(fā)者來說,方便開發(fā)過程,并增加了產品的可靠性。
Trolltech公司在QtE的基礎上開發(fā)了一個應用的環(huán)境—Qtopia,這個應用環(huán)境為移動和手持設備開發(fā)。其特點就是擁有完全的、美觀的GUI,同時它也提供可上百個應用程序用于管理用戶信息、辦公、、Internet交流等。
已經有很多公司采用了Qtopia來開發(fā)他們主流的PDA。1314
Qtopia是一種全方位的應用開發(fā)平臺,它可用于基于linux的PDA,移動,w
ds,以及其他移動計算設備。
Qtopia構建于Qt/Embedded之上,是專為基于linux的消費電子產品提供和創(chuàng)建圖形用戶界面而設計的。常見的有兩種版本:?1.QtopiaPhone版:專為基于linux的智能電話和多功能
設計。2.Qtopia
PDA版:專為基于linux的PDA設計。5LinuxKernelFrame-bufferQT/EmbeddedQT/X11XlibX
Window
ServerQT
APIApplication
Source
Code?開發(fā)通常都采用交叉編譯的方式進行,基于Qt/Embedded和Qtopia的GUI應用開發(fā)也采用這樣的模式。先在宿主機上調試應用程序,調試通過后,經過交叉編譯移植到目標板上。16
Qt/Embedded直接寫入幀緩存,在宿主機上則是通過qvfb(virtual
framebuffer)來模擬幀緩存。qvfb是X
窗口用來運行和測試
Qtopia應用程序的系統(tǒng)程序。qvfb使用了共享內存區(qū)域(虛擬的幀緩存)來模擬幀緩存并且在一個窗口中模擬一個應用程序來顯示幀緩存,顯示的區(qū)域被周期性的改變和更新。17工具描述變量Qt-x11-4.4.0Qvfb—虛擬幀緩存工具Uic—用戶界面編輯器Designer—Qt
圖形設計QTDIR/LD_LIBRARY_PATH/PATH器Qt-embedded-4.4.0Qt庫支持libqte.soQTEDIR/LD_LIBRARY_PATH/PATH1819#include
<QtGui/QtGui>int
main(int
argc,char*
argv[]){QApplication
app(argc,argv);?QTextCodec::setCodecForTr(QTextCodec::codecForLocale());QWidget*
pWidget=new
QWidget;QLabel
label(pWidget);label.setText(QObject::tr(“同一個世界,同一個夢想”));pWidget->show();return
app.exec();}20QApplication
app(argc,argv);//創(chuàng)建一個QT應用程序對象21QApplication類管理圖形程序的控制流和主要設置。它包含了主事件循環(huán),所有窗口系統(tǒng)以及其它信號源的事件都會在此循環(huán)中被調度和處理。它負責處理應用程序的初始化以及結束工作,且提供會話管理。它還處理系統(tǒng)級和應用程序級的設置。.22對于任何使用QT的圖形程序,不管它同時有幾個窗口,都有且僅有一個QApplication對象。對于非圖形應用程序,則使用QCoreApplication
,不依賴QtGui
的圖形庫。既然QApplication對象需要做大量的初始化工作,因此必須在其它任何對象之前創(chuàng)建。23QTextCodec::setCodecForTr(QTextCodec::codecForLocale())setCodecForTr函數(shù)可以設置QObject::tr()的編碼方式,如果采用默認值,則會是Latin-1.假若程序中出現(xiàn)的字符不是Latin-1編碼方式,這個函數(shù)可以用來設置正確的編碼方式。而codecForLocale函數(shù)返回了本地區(qū)的編碼方式的codec指針。QTextCodec類提供字符編碼的轉換.Qt使用Unicode(
編碼)來
,繪制及操作字符串。但在很多情況下你可能希望用不同的編碼來處理數(shù)據。例如,許多日文文檔仍使用Shift-JIS或ISO
2022-JP編碼,而中國用戶通常使用GB18030編碼.Qt提供了一組QTextCodec類族來幫助用戶將非Unicode格式與Unicode格式進行轉換.你也可以創(chuàng)建自己的codec類。2425
QTextCodecs可以將本地編碼字符串轉換為Unicode.假設你有一些字符串是以GB1803來編碼的,并希望將它轉換為Unicode.可以參考以下代碼:QByteArray
encodedString
="...";
QTextCodec
*codec
=QTextCodec::codecForName("GB1803");QStringstring=codec->toUnicode(encodedString);26QWidget*
pWidget=new
QWidget;//創(chuàng)建一個QWidget部件QWidget是所有用戶接口對象的基類。部件是用戶接口的基礎:它從窗口系統(tǒng)接收鼠標、鍵盤和其它事件,并在屏幕上繪制自身。每個部件都是矩形的,并且以Z-order排列。每個部件都處于其父部件
部件之間。27
一個沒有父部件的部件稱為一個窗口。通通常,窗口有一個邊框和標題欄,當然也可以使用合適的標志來創(chuàng)建一個沒有這些元素的窗口.
在Qt中,
QMainWindow
以及
Qdialog的各
類是最常用的窗口類型。2829每個部件的構造函數(shù)接受一個或兩個標準的參數(shù):第一個參數(shù)QWidget
*parent=0是此部件的父部件,如果取默認值0,則新部件是一個窗口,如果不為0則它是parent的子部件,會被限制在parent的幾何范圍之內。第二個參數(shù)Qt::WindowFlags
f=0設置窗口標志,默認值適應幾乎所有的部件。不過如果需要沒有邊框的窗口,則需要設置特殊的標志。QLabel
label(pWidget);//創(chuàng)建一個 ,它是pWidget的子部件30Qlabel部件提供文本或圖像顯示。一個Qlabel可以包含以下顯示類型:純文本:向setText()函數(shù)傳遞.QString對象多信息文本:向setText()函數(shù)傳遞包含多信息文本的QString.一張 :setPixmap()函數(shù)傳遞Qpixmap對象指針.一部影片:向setMovie()函數(shù)傳遞QMovie指針.一個數(shù)字:向setNum()函數(shù)傳遞整型或浮點型數(shù)據,會被轉化為純文本空:默認情況下的狀態(tài),可以用clear()函數(shù)設置.3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國陳皮市場運營格局及發(fā)展趨勢分析報告
- 2025-2030年中國鋁合金金屬型鑄件行業(yè)十三五規(guī)劃及發(fā)展策略研究報告
- 2025-2030年中國重卡汽車市場發(fā)展狀況及前景趨勢分析報告
- 2025-2030年中國酒精制造行業(yè)運營現(xiàn)狀及發(fā)展規(guī)劃分析報告
- 2025安徽省建筑安全員《C證》考試題庫及答案
- 2025-2030年中國觀光船游覽市場發(fā)展狀況與投資戰(zhàn)略研究報告
- 2025-2030年中國營銷服務行業(yè)市場競爭狀況及發(fā)展前景分析報告
- 2025-2030年中國米爾貝肟市場運營現(xiàn)狀及發(fā)展規(guī)劃分析報告
- 2025-2030年中國電解鋅行業(yè)十三五規(guī)劃與發(fā)展建議分析報告
- 石灰石開采項目可行性分析報告
- 2024年高考歷史總復習中外歷史大事年表
- 追求理解的教學設計
- 管網改造工程施工組織設計
- 工行安心賬戶托管(交易資金)三方協(xié)議
- 第1課+古代亞非【中職專用】《世界歷史》(高教版2023基礎模塊)
- 趙尚志愛國主義教育班會
- 產品生產技術方案
- 《陶瓷模型制作》課程標準
- 異位妊娠的臨床表現(xiàn)醫(yī)學課件
- 《賣火柴的小女孩》的語文說課課件
評論
0/150
提交評論