電子工程網
標題: QT 使用及安裝資料- [打印本頁]
作者: ludi 時間: 2017-9-28 11:02
標題: QT 使用及安裝資料-
一、Qt 概述
1、關于 Qt
Qt 是 Trolltech 公司的一個產品。Qt 是一個多平臺的 C++圖形用戶界面應用程序框架。
它提供給應用程序開發者建立圖形用戶界面應用程序所需的所有功能。Qt 是完全面向對象
的,它很容易擴展,并且允許真正的組件編程。自從 1996 年早些時候,Qt 進入商業領域,
它已經成為全世界范圍內數千種成功的應用程序的基礎。 Qt 也是流行的 Linux 桌面環境 KDE
的基礎。(KDE 是所有主要的 Linux 發行版的一個標準組件)
Qt 支持下述平臺:
MS/Windows - 95、98、NT 4.0、ME、和 2000
Unix/X11 - Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX 和
其它很多 X11 平臺
Macintosh - Mac OS X
Embedded - 有幀緩沖(frame buffer)支持的 Linux 平臺。
2、Qt 版本信息
Qt 被按不同的版本發行:
Qt 企業版和 Qt 專業版:提供給商業軟件開發。它們提供傳統商業軟件發行版并且提供
免費升級和技術支持服務。企業版比專業版多一些擴展模塊。
Qt 自由版:是 Qt 僅僅為了開發自由和開放源碼軟件 提供的 Unix/X11 版本。在 Q 公共許可證和 GNU 通用公共許可證下,它是免費的嵌入式信盈達企鵝要妖氣嗚嗚吧久零就要。
Qt/嵌入式自由版:是 Qt 為了開發自由軟件提供的嵌入式版本。在 GNU 通用公共許可
證下,它是免費的。
下表是關于 Qt 在 Windows 環境下各個版本的區別。 (Qt 為 Windows 只提供了專業版和
企業版,不過自由版本的 Qt 仍然可以在 Windows 環境下使用)
組成模塊 自由版 專業版 企業版
Qt 的基本模塊(工具、核心、窗口部件、對話框)
與平臺無關的 Qt 圖形用戶界面工具包和應用類
X X X
Qt 設計器
可視化的 Qt 圖形用戶界面的生成器
X X X
圖標視圖模塊
幾套圖形用戶交互操作的可視化效果。
X X
工作區模塊
多文檔界面(MDI)支持
X X
OpenGL 三維圖形模塊
在 Qt 中集成了 OpenGL
X
網絡模塊
一些套接字, TCP,FTP 和異步 DNS 查詢并與平臺無關的類
X
畫布模塊
為可視化效果,圖表和其它而優化的二維圖形領域
X
表格模塊
靈活的,可編輯的表格/電子表格
X
XML 模塊 X
通過 SAX 接口和 DOM Level 1 的 XML 解析器
SQL 模塊
SQL 數據庫訪問類
X
3、Qt 的組成
Qt 提供了一組范圍相當廣泛的 C++類庫,并包含了幾種命令行和圖形界面的工具,有
效地使用這些工具可以加速開發過程。
Qt Designer:Qt 設計器。用來可視化地設計應用程序界面。
Qt Linguist:Qt 語言學家。用來翻譯應用程序。以此提供對多種語言的支持。
Qmake:使用此工具可以由簡單的、 與平臺無關的工程文件來生成編譯所需的 Makefile。
Qt Assistant:關于 Qt 的幫助文件。類似于 MSDN。可以快速地發現你所需要的幫助。
moc:元對象編譯器。
uic:用戶界面編譯器。在程序編譯時被自動調用,通過 ui_*.h 文件生成應用程序界面。
qembed:轉換數據,比如,將圖片轉換為 C++代碼。
4、Qt 的安裝
安裝的過程對于不同的 Qt 平臺是不同的。在 Windows 環境下安裝 Qt,需要先安裝
MinGW。
MinGW,即 Minimalist GNU For Windows。它是一些頭文件和端口庫的集合,該集合
允許人們在沒有第三方動態鏈接庫的情況下使用 GCC (GNU Compiler C) 產生 Windows32
程序。 在基本層,MinGW 是一組包含文件和端口庫,其功能是允許控制臺模式的程序使
用微軟的標準 C 運行時間庫(MSVCRT.DLL),該庫在所有的 NT OS 上有效,在所有的
Windows 95 發行版以上的 Windows OS 有效,使用基本運行時間,你可以使用 GCC 寫控
制臺模式的符合美國標準化組織(ANSI)程序,可以使用微軟提供的 C 運行時間擴展。該
功能是 Windows32 API 不具備的。下一個組成部分是 w32api 包,它是一組可以使用
Windows32 API 的包含文件和端口庫。與基本運行時間相結合,就可以有充分的權利既使
用 CRT (C Runtime) 又使用 Windows32 API 功能。 實際上 MinGW 并不是一個 C/C++ 編
譯器,而是一套 GNU 工具集合。除開 GCC (GNU 編譯器集合) 以外,MinGW 還包含有
一些其他的 GNU 程序開發工具 (比如 gawk bison 等等)。
在安裝 MinGW 之后,再安裝 Qt,然后更改一下 Windows 系統的環境變量,就可以在
Windows 環境下使用 Qt 了。如果想在 VC 環境下使用 Qt,那么還需要進一步編譯和設置,
或者下載專門用于 VC 的 QT 版本。有關此方面的信息請參考附錄。
二、 開始學習 Qt
1、Hello, Qt!
我們以一個非常簡單的 Qt 程序開始 Qt 的學習。我們首先一行行的分析代碼,然后我
們將會看到怎樣編譯和運行這個程序。
1 #include
2 #include
3 int main (int argc, char *argv [])
4 {
5 QApplication app (argc, argv);
6 QLabel *label = new QLabel ("Hello Qt!");
7 label->show ();
8 return app. exec ();
9 }
第 1 行和第 2 行包含了兩個類的定義:QApplication 和 QLabel。對于每一個 Qt 的類,
都會有一個同名的頭文件,頭文件里包含了這個類的定義。因此,你如果在程序中使用了一
個類的對象,那么在程序中就必須包括這個頭文件。
第 3 行是程序的入口。幾乎在使用 Qt 的所有情況下,main()函數只需要在把控制權轉
交給 Qt 庫之前執行一些初始化,然后 Qt 庫通過事件來向程序告知用戶的行為。argc 是命
令行變量的數量,argv 是命令行變量的數組。這是一個 C/C++特征。它不是 Qt 專有的,無
論如何 Qt 需要處理這些變量
第 5 行定義了一個 QApplication 對象 App。QApplication 管理了各種各樣的應用程序的
廣泛資源,比如默認的字體和光標。 App 的創建需要 argc 和 argv 是因為 Qt 支持一些自己的
命令行參數。在每一個使用 Qt 的應用程序中都必須使用一個 QApplication 對象,并且在任
何 Qt 的窗口系統部件被使用之前創建此對象是必須的。App 在這里被創建并且處理后面的
命令行變量(比如在 X 窗口下的-display)。請注意,所有被 Qt 識別的命令行參數都會從 argv
中被移除(并且 argc 也因此而減少)。
第 6 行創建了一個 QLabel 窗口部件(widget) ,用來顯示“Hello,Qt!”。在 Qt 和 Unix
的術語中,一個窗口部件就是用戶界面中一個可見的元素,它相當于 Windows 術語中的“容
器”加上“控制器”。按鈕(Button)、菜單(menu)、滾動條(scroll bars)和框架(frame)
都是窗口部件的例子。窗口部件可以包含其它的窗口部件。例如,一個應用程序界面通常就
是一個包含了 QMenuBar,一些 QToolBar,一個 QStatusBar 和其它的一些部件的窗口。絕大
多數應用程序使用一個 QMainWindow 或者一個 QDialog 作為程序界面,但是 Qt 允許任何
窗口部件成為窗口。在這個例子中,QLabel 窗口部件就是作為應用程序主窗口的。
第 7 行使我們創建的 QLabel 可見。當窗口部件被創建的時候,它總是隱藏的,必須調
用 show()來使它可見。通過這個特點我們可以在顯示這些窗口部件之前定制它們,這樣就不
會出現閃爍的情況。
第 8 行就是 main()將控制權交給 Qt。在這里,程序進入了事件循環。事件循環是一種
stand-by 的模式,程序會等待用戶的動作(比如按下鼠標或者是鍵盤)。用戶的動作將會產
生程序可以做出反應的事件(也被稱為“消息”) 。程序對這些事件的反應通常是執行一個或
幾個函數。
為了簡單起見,我們沒有在 main()函數的結尾處調用 delete 來刪除 QLabel 對象。這種
內存泄露是無害的,因為像這樣的小程序,在結束時操作系統將會釋放程序占用的內存堆。
下面我們來編譯這個程序。建立一個名為 hello 的目錄,在目錄下建立一個名為 hello.cpp
的 c++源文件,將上面的代碼寫入文件中。
運行“開始à程序àQt by TrolltechàQt Command Prompt”。
在命令行模式下,切換目錄到 hello 下,然后輸入命令:qmake –project。這個命令將
產生一個依賴于工作平臺的工程文件(hello.pro)。
再輸入命令:qmake hello.pro。這個命令通過工程文件產生一個可以在特定工作平臺
上使用的 makefile。
最后輸入命令:make 來產生應用程序。運行這個程序,可以得到如下的程序界面。
Qt 也支持 XML。我們可以把程序的第 6 行替換成下面的語句:
QLabel *label = new QLabel ("
Hello " "Qt!
");重新編譯程序,我們發現界面擁有了簡單的 HTML 風格。如下圖:
歡迎光臨 電子工程網 (http://m.qingdxww.cn/) |
Powered by Discuz! X3.4 |
主站蜘蛛池模板:
亚洲视频在线观看免费
|
久久国产视频精品
|
俄罗斯13一14处出血视频在线
|
黄色高清视频在线观看
|
91亚洲国产成人久久精品网址
|
日日免费视频
|
日韩在线观看一区
|
香蕉视频在线观看网址
|
手机在线观看精品国产片
|
国产97公开成人免费视频
|
手机成人在线视频
|
周末情人全集免费观看
|
久久精品免费观看
|
日本视频网站在线www色
|
东方伊人免费在线观看
|
亚洲欧美日韩成人一区在线
|
日韩精品亚洲人成在线观看
|
亚洲an天堂an在线观看
|
国产成人精品免费
|
欧美在线视频网
|
亚洲国产精品欧美综合
|
一区免费|
免费看日b视频
|
欧美黑人玩白人巨大极品
|
麻豆免费在线视频
|
天空之城动漫在线观看完整版免费
|
日本三级一区二区三区
|
国产情侣一区二区
|
丁香狠狠色婷婷久久综合
|
麻豆国产精品高中生视频
|
久久精品国产2020
|
久热国产视频
|
久久五月天婷婷
|
男人天堂网页
|
国产成人aa在线视频
|
四虎成人永久地址
|
久久精品加勒比中文字幕
|
国产在线综合一区二区三区
|
欧美成人亚洲
|
久久噜噜久久久精品66
|
香蕉草莓丝瓜茄子番茄绿巨人
|