Python&C++相互混合调用编程全面实战-21依赖的QT环境安装和信号槽机制的讲解

本文详细介绍了如何在Windows上安装QT环境,包括选择版本、配置VS插件,并通过实例演示了基于QtCreator和Visual Studio的开发流程,重点讲解了信号槽机制在界面控件事件绑定中的应用。
摘要由CSDN通过智能技术生成

作者:虚坏叔叔
博客: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;
}

修改为控制台输出方便演示:

在这里插入图片描述

运行:

在这里插入图片描述

💬 往期优质文章分享

🚀 优质教程分享 🚀

  • 🎄如果感觉文章看完了不过瘾,可以来我的其他 专栏 看一下哦~
  • 🎄比如以下几个专栏:Python实战微信订餐小程序、Python量化交易实战、C++ QT实战类项目 和 算法学习专栏
  • 🎄可以学习更多的关于C++/Python的相关内容哦!直接点击下面颜色字体就可以跳转啦!
学习路线指引(点击解锁)知识定位人群定位
🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战 💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统
❤️ C++ QT结合FFmpeg实战开发视频播放器❤️难度偏高分享学习QT成品的视频播放器源码,需要有扎实的C++知识!
💚 游戏爱好者九万人社区💚互助/吹水九万人游戏爱好者社区,聊天互助,白嫖奖品
💙 Python零基础到入门 💙Python初学者针对没有经过系统学习的小伙伴,核心目的就是让我们能够快速学习Python的知识以达到入门

🚀 资料白嫖,温馨提示 🚀

关注下面卡片即刻获取更多编程知识,包括各种语言学习资料,上千套PPT模板和各种游戏源码素材等等资料。更多内容可自行查看哦!

请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Qt是一个跨平台的应用程序开发框架,常用于C++开发。Python是一种动态类型的脚本语言。混合编程指的是在一个项目中同时使用Qt/C++Python进行开发。 混合编程的好处是可以充分发挥QtPython各自的优势。Qt/C++可以提供高性能和可靠性,适用于底层开发和系统级编程Python则提供了简洁易懂、高效编程以及大量的第三方库,适用于快速开发和原型设计。 混合编程的打包过程可以分为以下几个步骤: 首先,需要安装相应的编译工具和开发环境,如QtC++编译器和Python解释器。确定使用的Qt版本与Python版本兼容。 其次,需要为C++部分编写Qt代码,并将其编译成dll或so动态链接库,以供Python调用。这需要使用Qt提供的相关工具和库进行编译和链接。 然后,使用Python的相关库(如PyQt或PySide)来调用C++部分的Qt代码,并将其与Python代码结合起来。这样,就可以实现Qt界面与Python逻辑的交互。 最后,将项目打包成可执行文件、二进制文件或安装包。这可以使用Qt提供的打包工具,如Qt Installer Framework,或者使用第三方工具和脚本来完成。 需要注意的是,在混合编程和打包过程中,需要仔细处理Qt信号机制Python的回调机制之间的交互,以确保二者能够正常工作。 总之,Qt C++Python混合编程可以充分利用两者的优势,打包则需要注意兼容性和交互的处理。这种方式可以更灵活地开发应用程序,并能够适应不同的需求和平台。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚坏叔叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值