天天看點

Python&C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

作者:虛壞叔叔

早餐店不會開到晚上,想吃的人早就來了!😄

依賴的QT環境安裝和信号槽機制的講解

Python&C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

一、QT源碼和SDK下載下傳

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      

二、QT環境安裝

輕按兩下安裝​

​5.11​

​版本:

Python&C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

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

Python&C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

在vs下開發,勾選這MSVC:

Python&C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

​Sources​

​​可以勾選也可以不勾選,勾選就是可以調試到​

​QT​

​的源碼。

後面就是一路預設安裝。同意協定即可。

三、QT安裝内容介紹

​QT​

​​內建開發環境​

​QTCreator​

​在這個路徑下:

D:\Qt\Qt5.9.8\Tools\QtCreator      
Python&C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

​SDK​

​的路徑在這個位置:

D:\Qt\Qt5.9.8\5.9.8\msvc2015_64      
Python&C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

四、​

​Vs-addin​

​安裝

直接輕按兩下安裝即可完成安裝完成後,打開​

​vs2015​

​就可以看到這個菜單:

點選​

​QT Options​

Python&C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

就可以設定:

将​

​sdk​

​​設定為​

​64位​

​即可:

Python&C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

五、建立一個FirstQt項目

使用Qt GUI Application 建立一個​

​FirstQt​

​項目

Python&C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

選擇你需要使用的​

​QT​

​庫,預設即可:

Python&C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

建立一個主視窗應用程式,預設即可

Python&C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

建立完成後,編譯運作:

可以看到建立了一個這樣的視窗。

Python&C++互相混合調用程式設計全面實戰-21依賴的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;
};
      

六、QT界面控件添加

輕按兩下​

​FirstQT.ui​

​可以打開界面設計器。

這裡有很多控件,可以拖動一個按鈕到主視窗,然後用信号槽給控件添加事件:

Python&amp;C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

為按鈕添加​

​click​

​的響應事件:

Python&amp;C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

儲存後,切換到​

​visual studio 2015​

​,運作程式,可以看到控件。

Python&amp;C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

為什麼在​

​Qt設計師​

​​修改的界面,可以展現在​

​visual studio 2015​

​中呢?

它會調用​

​Uic​

​​程式 将​

​FirstQt.ui​

​​編譯生成​

​moc_FirstQt.cpp​

​檔案。這個中間檔案自動的生成了界面的代碼.

Python&amp;C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

七、QT信号槽實作控件事件的綁定

來到​

​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;
}
      

修改為控制台輸出友善示範:

Python&amp;C++互相混合調用程式設計全面實戰-21依賴的QT環境安裝和信号槽機制的講解

運作: