作者:虚坏叔叔
博客: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
,相对而言vs
的bug
少很多,而且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模板和各种游戏源码素材等等资料。更多内容可自行查看哦!