Qt下載與Qt Creator介紹

Qt下載

進入Qt下載頁面

我們進入Qt下載頁面進行下載,Qt有分商業版和社群版,依個人需要作選擇,我們這邊選擇社群版。

Qt社群版


觀看所有下載版本

點擊觀看所有下載版本。

觀看所有下載


有許多不同的版本提供下載,筆者的開發平台是微軟作業系統,選擇不用另外安裝軟體的MinGW版本,實際依自己環境下載適合的版本。

選擇版本


Qt Creator介紹

下載並安裝完畢後,我們看一下Qt Creator有哪些功能,點擊歡迎後我們可以看到許多Qt提供的範例,我們隨意選擇其中一個。

Qt Creator


選擇專案後,Qt 會自動顯現此專案的原始碼,我們可看到各專案的檔案,以及相對的程式碼。

Qt Creator


按說明我們可以看到Qt提供的文件,有IDE相關介紹,以及API說明。

Qt Creator


我們可以點擊執行(Ctrl+R)或除錯(F5),兩者都可看程式的結果,除錯可讓開發人員下中斷點偵錯,但速度較慢,而執行可讓開發人員直接看到程式結果。

Qt Creator

Qt主窗口(Top Level Window)

Qt主窗口

Qt有三個主窗口類:QWidget、QDialogue、QMainWindow,主窗口(Top Level Window)就是應用程式最頂層的窗口,通常是由一個選單欄、若干工具欄和一個狀態欄組成。QMainWindow正是這樣的一種佈局,因此通常我們的應用程式主窗口會繼承自QMainWindow,以便獲得QMainWindow提供的各種函式,接著增添需要的元件和功能。

Top Level Window


我們這邊以word為例,分別介紹選單欄、工具條、工作區和狀態欄。

Top Level Window

  • 選單欄(Menubar):用於顯示選單,通常為頂層一橫排。
  • 工具條(Toolbar):中間矩形區域最外層為工具條(Toolbar),Qt 的主窗口支持多個工具條,而且可以並排顯示或分別放置四周,工具條區域內部是停靠元件(Dock Widget),可預設在主窗口的四周任一位置,也可以讓使用者以滑鼠隨意移動位置。
  • 工作區(Central Widget):位於主窗口中間,通常用來顯現結果,並讓使用者在此區域進行操作。
  • 狀態欄(Statusbar):位於底部,當使用者執行某些操作時,可以在狀態欄顯示信息提醒使用者。

Qt 主視窗創建

以下為Qt提供關於窗口操作的函式,我們可依這些函式設置窗口大小和出現的位置,函式主要分兩類,包含框架和不含框架的: 包含框架:x()、y()、pos()、frameGeometry()、move()。 不包含框架:geometry()、width()、height()、rect()、size()。

enter image description here


#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[]){
    QApplication a(argc, argv);
    MainWindow w;           //創造一個主窗口物件
    w.resize(300,300);      //窗口尺寸為300*300
    w.move(100,100);        //窗口移動到距螢幕左上角100*100處
    int windowXPos = w.x(); //窗口左上角x座標
    int windowYPos = w.y(); //窗口左上角y座標
    QRect windowGeometry = w.frameGeometry() //返回的QRect可得窗口長、寬、位置等資訊。   
    w.setWindowTitle(QObject::tr("第一個主視窗")); //設定窗口標題
    w.show();               //在螢幕上秀出窗口
    return a.exec();
}

  1. 前兩行分別引入mainwindow.h標頭檔以及QApplication這個類別。
  2. main()函式創建一個QApplication類別的物件,GUI介面使用QApplication類別,console介面使用QCoreApplication類別,用此來管理Qt程序的生命週期,開啟事件循環等,所以每個Qt應用程式,我們都須創建QApplication物件,再開始創建其他元件。
  3. tr()函式為QObject類別的一個成員函式,因此使用時增加QObject::,可以使用工具提取出tr()函式內的字串,來翻譯成其他語言,所以如果想讓程序實現國際化,那麼就在使用者所有可見的字符串處都使用QObject::tr()。。
  4. app.exec()函式開啟事件循環,事件循環為一段無限循環,不斷等待作業系統或使用者的訊息,直到應用程式結束才停止。

應用程式框架(Application Framework)

C/C++應用程式框架

Qt 、wxWidgets、MFC、gtk+是幾個比較著名的C/C++應用程式框架,除了MFC只能用在微軟作用系統外,Qt、wxWidgets、gtk+都能在各種不同的作業平台上編譯並執行。


MFC

MFC是微軟在1992年發行的,是一個以C++開發的應用程式框架,但只能在微軟的作業系統上執行,有應用程式精靈來協助生成代碼,加快程式開發人員的開發速度,但是MFC的一些封裝過程複雜,以致於開發人員較難掌握其中的架構和用法。雖然目前仍隨著visual studio發行,但更新緩慢且不是微軟關注的項目,不建議新的應用程式以此框架進行開發。


GTK+

GTK+在1998年發表第一個穩定版本,是使用C語言開發的跨平台應用程式框架,為Linux下開發圖形界面的應用程序的主流開發工具之一,能做到跨平台編譯並執行,由於是以C語言開發,因此內部使用大量的類型轉換來模擬多型,函式名稱比起Qt 、wxWidgets、MFC相對拗口,界面也不是原生風格,因此有時在Mac OS X或Windows上會有和該系統不習慣的顯現方式,授權條款是LGPL。


wxWidgets

wxWidgets於1992年開始發布,命名習慣和架構都高度相似MFC,會 MFC 幾乎不用重新學習,他的物件封裝比 MFC 要好,提供的功能也較MFC多,文件也較MFC詳細清楚,能在各種不同的作業平台上編譯並執行,而且wxWidgets在各種平台上都可寫出該平台內建 Native 原生圖形介面的程式。在Windows上就長得跟其他Windows程式一樣,在Linux下就使用gtk+的圖形介面,在Mac OS X下就可以使用華麗的Aqua外觀風格。


Qt

Qt第一版於1995年由Trolltech(奇趣科技)發布,2008 年Nokia收購TrollTech,2012年Nokia將Qt 出售給Digia。Qt是一個以C++開發的跨平台應用程式框架,提供的功能豐富,文件詳細且網路、書本資源豐富,也有專屬的IDE,儘管使用style機制巧妙地模擬了原生界面,有時還是和原生風格有點差異。另外Qt 不僅能夠運行在桌面環境中,還可以運行在嵌入式平台以及手機平台(目前唯一有支援移動平台的C語言框架)。另外有分商業版和開源版兩種,商業版能在有效期限內免費升級和技術支持服務,開源版提供同樣的功能,在GNU通用公共許可證下是免費的。