作者:虛壞叔叔
博客:https://xuhss.com
早餐店不會開到晚上,想吃的人早就來了!

http://download.qt.io/archive 不可靠
http://download.qt.io 注冊下載
QT有2種編程方式,一種是基於QtCreator,另一種是基於Visual Studio。如果你是在Linux或者Mac,可以直接使用QtCreator,如果是在Windows,推薦使用VS。
為什麼不用QtCreator,相對於其他的開發集成環境而言,你在實際開發中用過QtCreator就會發現會覺得很好用,但是相對於vs而言就是個弟弟。比如項目基於Qmake,它經常有些編譯沒生成,會出現一些bug,相對而言vs的bug少很多,而且vs調試和配置第三方庫的時候,更加便捷。
如果用vs的話,需要下載vs-addin:
download.qt.io/archive/vsaddin/
qt的話建議下載5.9,它是長期維護版本:
http://download.qt.io/archive/qt
雙擊安裝5.11版本:

點擊下一步後選擇一個安裝目錄:

在vs下開發,勾選這MSVC:

Sources可以勾選也可以不勾選,勾選就是可以調試到QT的源碼。
後面就是一路默認安裝。同意協議即可。
QT集成開發環境QTCreator在這個路徑下:
D:\Qt\Qt5.9.8\Tools\QtCreator

SDK的路徑在這個位置:
D:\Qt\Qt5.9.8\5.9.8\msvc2015_64

Vs-addin安裝直接雙擊安裝即可完成安裝完成後,打開vs2015就可以看到這個菜單:
點擊QT Options

就可以設置:
將sdk設置為64位即可:

使用Qt GUI Application 創建一個FirstQt項目

選擇你需要使用的QT庫,默認即可:

創建一個主窗口應用程序,默認即可

創建完成後,編譯運行:
可以看到創建了一個這樣的窗口。

打開主函數入口:
#include "FirstQT.h"
#include <QtWidgets/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);// 整個應用程序
FirstQT w; // 窗口
w.show(); // 顯示窗口
return a.exec(); // 消息隊列處理
}
打開FirstQT.h:
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_FirstQT.h"
class FirstQT : public QMainWindow // 繼承QMainWindow主窗口
{
Q_OBJECT
public:
FirstQT(QWidget *parent = Q_NULLPTR);
private:
Ui::FirstQTClass ui;
};
雙擊FirstQT.ui可以打開界面設計器。
這裡有很多控件,可以拖動一個按鈕到主窗口,然後用信號槽給控件添加事件:

為按鈕添加click的響應事件:

保存後,切換到visual studio 2015,運行程序,可以看到控件。

為什麼在Qt設計師修改的界面,可以展現在visual studio 2015中呢?
它會調用Uic程序 將FirstQt.ui編譯生成moc_FirstQt.cpp文件。這個中間文件自動的生成了界面的代碼.

來到FirstQt.h中添加槽函數Test():
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_FirstQT.h"
class FirstQT : public QMainWindow // 繼承QMainWindow主窗口
{
Q_OBJECT
public:
FirstQT(QWidget *parent = Q_NULLPTR);
public slots:
void Test();
private:
Ui::FirstQTClass ui;
};
FirstQt.cpp中添加實現:
#include "FirstQT.h"
#include <iostream>
using namespace std;
FirstQT::FirstQT(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
}
void FirstQT::Test()
{
cout << "FirstQt::Test()" << endl;
}
修改為控制台輸出方便演示:

運行:

關注下面卡片即刻獲取更多編程知識,包括各種語言學習資料,上千套PPT模板和各種游戲源碼素材等等資料。更多內容可自行查看哦!
