博客:
早餐店不会开到晚上,想吃的人早就来了!
依赖的QT环境安装和信号槽机制的讲解
一、QT源码和SDK下载
http://download.qt.io/archive 不可靠http://download.qt.io 注册下载
QT有2种编程方式,一种是基于,另一种是基于。如果你是在Linux或者Mac,可以直接使用,如果是在,推荐使用VS 。
为什么不用,相对于其他的开发集成环境而言,你在实际开发中用过就会发现会觉得很好用,但是相对于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:
可以勾选也可以不勾选,勾选就是可以调试到QT的源码 。
后面就是一路默认安装 。同意协议即可 。
三、QT安装内容介绍
QT集成开发环境在这个路径下:
D:\Qt\Qt5.9.8\Tools\QtCreator
SDK的路径在这个位置:
D:\Qt\Qt5.9.8\5.9.8\msvc2015_64
四、Vs-addin安装
文章插图
直接双击安装即可完成安装完成后,打开就可以看到这个菜单:
点击QT
就可以设置:
将sdk设置为64位即可:
五、创建一个项目
使用Qt GUI创建一个项目
选择你需要使用的QT库,默认即可:
创建一个主窗口应用程序,默认即可
创建完成后,编译运行:
可以看到创建了一个这样的窗口 。
打开主函数入口:
#include "FirstQT.h"#include int main(int argc, char *argv[]){QApplication a(argc, argv);// 整个应用程序FirstQT w; // 窗口w.show(); // 显示窗口return a.exec(); // 消息队列处理}
打开.h:
#pragma once#include #include "ui_FirstQT.h"class FirstQT : public QMainWindow // 继承QMainWindow主窗口{Q_OBJECTpublic:FirstQT(QWidget *parent = Q_NULLPTR);private:Ui::FirstQTClass ui;};
六、QT界面控件添加
双击.ui可以打开界面设计器 。
这里有很多控件,可以拖动一个按钮到主窗口,然后用信号槽给控件添加事件:
为按钮添加click的响应事件:
保存后,切换到2015,运行程序,可以看到控件 。
为什么在Qt设计师修改的界面,可以展现在2015中呢?
文章插图
它会调用Uic程序 将.ui编译生成.cpp文件 。这个中间文件自动的生成了界面的代码.
七、QT信号槽实现控件事件的绑定
来到.h中添加槽函数Test():
#pragma once#include #include "ui_FirstQT.h"class FirstQT : public QMainWindow // 继承QMainWindow主窗口{Q_OBJECTpublic:FirstQT(QWidget *parent = Q_NULLPTR);public slots:void Test();private:Ui::FirstQTClass ui;};
.cpp中添加实现:
#include "FirstQT.h"#include using namespace std;FirstQT::FirstQT(QWidget *parent): QMainWindow(parent){ui.setupUi(this);}void FirstQT::Test(){cout << "FirstQt::Test()" << endl;}
修改为控制台输出方便演示:
运行:
往期优质文章分享优质教程分享学习路线指引(点击解锁)知识定位人群定位
实战微信订餐小程序
进阶级
本课程是 flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统 。
- 社区分享|JumpServer助力容联七陌纳管大规模混合云资产
- 计算机之间的文件传输,两个电脑怎么传输文件_让两个电脑相互传输文件的方法...
- [混合开发]HybridApp分析!!!
- 里什庄园|赤霞珠的全新诠释 世界之最混合干红葡萄酒
- 内痔便*如何止*,内痔便*如何止*,治疗
- 全国游泳冠军赛余依婷刷新女子200米混合泳世界青年纪录 跨国游泳吉尼斯记录
- 用神经网络的分类过程理解夸克与反夸克渐近自由的强相互作用过程
- 混合动力汽车
- 手机相互操控的思路
- 噻菌铜农药与安泰生农药能够混合使用吗?