国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 2546|回復: 0
打印 上一主題 下一主題

QT 使用及安裝資料-

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2017-9-28 11:02:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關鍵詞: 嵌入式
一、Qt 概述
1、關于 Qt
Qt Trolltech 公司的一個產品。Qt 是一個多平臺的 C++圖形用戶界面應用程序框架。
它提供給應用程序開發者建立圖形用戶界面應用程序所需的所有功能。Qt 是完全面向對象
的,它很容易擴展,并且允許真正的組件編程。自從 1996 年早些時候,Qt 進入商業領域,
它已經成為全世界范圍內數千種成功的應用程序的基礎。 Qt 也是流行的 Linux 桌面環境 KDE
的基礎。(KDE 是所有主要的 Linux 發行版的一個標準組件)
Qt 支持下述平臺:
MS/Windows - 9598NT 4.0ME、和 2000
Unix/X11 - LinuxSun SolarisHP-UXCompaq Tru64 UNIXIBM AIXSGI IRIX
其它很多 X11 平臺
Macintosh - Mac OS X
Embedded -  有幀緩沖(frame buffer)支持的 Linux 平臺。
2Qt 版本信息
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
3Qt 的組成
Qt 提供了一組范圍相當廣泛的 C++類庫,并包含了幾種命令行和圖形界面的工具,有
效地使用這些工具可以加速開發過程。
Qt DesignerQt 設計器。用來可視化地設計應用程序界面。
Qt LinguistQt 語言學家。用來翻譯應用程序。以此提供對多種語言的支持。
Qmake:使用此工具可以由簡單的、 與平臺無關的工程文件來生成編譯所需的 Makefile
Qt Assistant:關于 Qt 的幫助文件。類似于 MSDN。可以快速地發現你所需要的幫助。
moc:元對象編譯器。
uic:用戶界面編譯器。在程序編譯時被自動調用,通過 ui_*.h 文件生成應用程序界面。
qembed:轉換數據,比如,將圖片轉換為 C++代碼。
4Qt 的安裝
安裝的過程對于不同的 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
1Hello, 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 對象 AppQApplication 管理了各種各樣的應用程序的
廣泛資源,比如默認的字體和光標。 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 風格。如下圖:

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 啪免费视频 | 97在线亚洲 | 最新欧美精品 | 一级做a级爰片性色毛片视频 | 久草视频官网 | 中文欧美日韩 | 赘婿动画在线观看免费完整版 | 麻豆画精品传媒2021直接看 | 99视频免费观看 | 亚洲swag精品自拍一区 | 日本人的色道www免费一区 | 最近免费中文字幕视频高清在线看 | 传媒麻豆 | 亚洲视频在线免费播放 | 4虎影院午夜在线观看 | 一及毛片| 弄农村老妇呻吟 | 国产麻豆一级在线观看 | 四虎国产精品永久在线看 | 久久国产美女免费观看精品 | 全部免费的毛片在线看美国 | 亚洲欧美在线精品一区二区 | 亚洲欧美一区二区三区久久 | 日本爽视频 | 国产精品久久久久不卡绿巨人 | 国产成人综合久久亚洲精品 | 一级特黄aaa大片在线观看 | 网友自拍区一区二区三区 | 四虎免费影院在线播放 | 成年女人毛片免费观看中文w | 成人黄色免费 | 禁游app软件下载免费网站 | 日本精品1在线区 | 欧美最新在线 | 国产在线麻豆一区二区 | 四虎成人永久地址 | 日韩欧一级毛片在线播无遮挡 | 亚洲情a成黄在线观看 | 精品视频在线观看一区二区三区 | 亚洲精品日韩中文字幕久久久 | 欧美性视频在线播放 |