程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

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

編輯:Python

作者:虛壞叔叔
博客:https://xuhss.com

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

依賴的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,相對而言vsbug少很多,而且vs調試和配置第三方庫的時候,更加便捷。

如果用vs的話,需要下載vs-addin:

download.qt.io/archive/vsaddin/

qt的話建議下載5.9,它是長期維護版本:

http://download.qt.io/archive/qt

二、QT環境安裝

雙擊安裝5.11版本:

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

在vs下開發,勾選這MSVC:

Sources可以勾選也可以不勾選,勾選就是可以調試到QT的源碼。

後面就是一路默認安裝。同意協議即可。

三、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位即可:

五、創建一個FirstQt項目

使用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;
};

六、QT界面控件添加

雙擊FirstQT.ui可以打開界面設計器。

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

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

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

為什麼在Qt設計師修改的界面,可以展現在visual studio 2015中呢?

它會調用Uic程序 將FirstQt.ui編譯生成moc_FirstQt.cpp文件。這個中間文件自動的生成了界面的代碼.

七、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;
}

修改為控制台輸出方便演示:

運行:

往期優質文章分享

  • C++ QT結合FFmpeg實戰開發視頻播放器-01環境的安裝和項目部署
  • 解決QT問題:運行qmake:Project ERROR: Cannot run compiler ‘cl‘. Output:
  • 解決安裝QT後MSVC2015 64bit配置無編譯器和調試器問題
  • Qt中的套件提示no complier set in kit和no debugger,出現黃色感歎號問題解決(MSVC2017)
  • Python+selenium 自動化 - 實現自動導入、上傳外部文件(不彈出windows窗口)

優質教程分享

  • 如果感覺文章看完了不過瘾,可以來我的其他 專欄 看一下哦~
  • 比如以下幾個專欄:Python實戰微信訂餐小程序、Python量化交易實戰、C++ QT實戰類項目 和 算法學習專欄
  • 可以學習更多的關於C++/Python的相關內容哦!直接點擊下面顏色字體就可以跳轉啦!
學習路線指引(點擊解鎖)知識定位人群定位🧡 Python實戰微信訂餐小程序 🧡進階級本課程是python flask+微信小程序的完美結合,從項目搭建到騰訊雲部署上線,打造一個全棧訂餐系統。Python量化交易實戰入門級手把手帶你打造一個易擴展、更安全、效率更高的量化交易系統️ C++ QT結合FFmpeg實戰開發視頻播放器️難度偏高分享學習QT成品的視頻播放器源碼,需要有扎實的C++知識! 游戲愛好者九萬人社區互助/吹水九萬人游戲愛好者社區,聊天互助,白嫖獎品 Python零基礎到入門 Python初學者針對沒有經過系統學習的小伙伴,核心目的就是讓我們能夠快速學習Python的知識以達到入門

資料白嫖,溫馨提示

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


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved