0
点赞
收藏
分享

微信扫一扫

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_02

点击下一步后选择一个安装目录:

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

在vs下开发,勾选这MSVC:

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

​Sources​​​可以勾选也可以不勾选,勾选就是可以调试到​​QT​​的源码。

后面就是一路默认安装。同意协议即可。

三、QT安装内容介绍

​QT​​​集成开发环境​​QTCreator​​在这个路径下:

D:\Qt\Qt5.9.8\Tools\QtCreator

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

​SDK​​的路径在这个位置:

D:\Qt\Qt5.9.8\5.9.8\msvc2015_64

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

四、​​Vs-addin​​安装

直接双击安装即可完成安装完成后,打开​​vs2015​​就可以看到这个菜单:

点击​​QT Options​

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

就可以设置:

将​​sdk​​​设置为​​64位​​即可:

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

五、创建一个FirstQt项目

使用Qt GUI Application 创建一个​​FirstQt​​项目

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

选择你需要使用的​​QT​​库,默认即可:

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

创建一个主窗口应用程序,默认即可

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

创建完成后,编译运行:

可以看到创建了一个这样的窗口。

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

打开主函数入口:

#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&C++相互混合调用编程全面实战-21依赖的QT环境安装和信号槽机制的讲解_python_13

为按钮添加​​click​​的响应事件:

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

保存后,切换到​​visual studio 2015​​,运行程序,可以看到控件。

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

为什么在​​Qt设计师​​​修改的界面,可以展现在​​visual studio 2015​​中呢?

它会调用​​Uic​​​程序 将​​FirstQt.ui​​​编译生成​​moc_FirstQt.cpp​​文件。这个中间文件自动的生成了界面的代码.

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

七、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&C++相互混合调用编程全面实战-21依赖的QT环境安装和信号槽机制的讲解_环境搭建_17

运行:

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



举报

相关推荐

0 条评论