作者:虛壞叔叔
博客: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模板和各種游戲源碼素材等等資料。更多內容可自行查看哦!