一、QT的概述:
1.什么是QT:
Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发老提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。
2.支持的平台:
Windows - XP、Vista、Win7、Win8、Win2008、 win10
Uinux/X11 - Linux.Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、BSD/0s、和其他很多X11平台心
Macintosh - Mac OS X
Embedded - 有帧缓冲支持的嵌入式Linux 平台,Windows CE
3.QT版本:
Q按照不同的版本发行,分为商业版和开源版
商业版:
为商业软件提供开发,他们提供传统商业软件发行版,并且提供在商业有效期内的免费升级和技术支持服务。
开源的LGPL版本:
为了开发自有而设计的开放源码软件,它提供了和商业版本同样的功能,在GNU通用公共许可下,它是免费的。
4.QT安装:
为了实现QT在安卓机上环境的使用,必须使用该文件夹下提供的QT版本以及NDK,SDK,JDK,并且qt的项目路径中不允许出现中文和空格。
在QT的安装过程中,安装路径任意,需要安装Android环境,需要勾选Android x86,Android ARMv7,MinGW
5.QT的优点:
(1).跨平台,几乎支持所有的平台
(2).接口简单,容易上手,学习QT框袈对学习其他框袈有参考意义。
(3).一定程度上简化了内存回收机制
(4).开发效率高,能够快速的构建应用程序。
(5).有很好的社区氛围,市场份额在缓慢上升。
(6).可以进行嵌入式开发。·
二、QT项目的创建
三、项目介绍
1. .pro文件
QT += core gui //QT包含的模块 core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于4版本以上 包含widget模块 CONFIG += c++11 # The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the # deprecated API in order to know how to port your code away from it. DEFINES += QT_DEPRECATED_WARNINGS # You can also make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 SOURCES += \ main.cpp \ //源文件 mywidget.cpp HEADERS += \ mywidget.h //头文件
2.头文件:
#ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> //包含头文件,QWidget窗口类 class myWidget : public QWidget { Q_OBJECT // Q_OBJECT宏,允许类中使用信号和槽的机制 public: myWidget(QWidget *parent = nullptr); //构造函数 ~myWidget(); }; #endif // MYWIDGET_H
3.main.cpp
#include "mywidget.h" #include <QApplication> //包含一个应用程序类的头文件 //main程序入口 argc命令行变量的数量 argv命令行变量的数组 int main(int argc, char *argv[]) { //a应用程序对象,在QT中,应用程序对象有且只有一个 QApplication a(argc, argv); //窗口对象 myWidget父类 -》 QWidget myWidget w; //窗口对象,默认不会显示,必须要调用show方法显示窗口 w.show(); //让应用程序对象进入消息循环 return a.exec(); }
4.mywidget.cpp
命名规范
类名 首字母大写,单词与单词之间首字母大写
函数名 变量名称 首字母小写,单词与单词之间首字母大写
快捷键
注释 ctrl + /
运行 ctrl + r
编译 ctrl + b
字体缩放 ctrl + 鼠标滚轮
查找 ctrl + f
整行移动 ctrl + shift + ↑ 或者 ↓
帮助文档 F1 或者 左侧按钮
自动对齐 ctrl + i
同名之间的.h和.cpp切换 F4
#include "mywidget.h" //命名规范 //类名 首字母大写,单词与单词之间首字母大写 //函数名 变量名称 首字母小写,单词与单词之间首字母大写 //快捷键 // 注释 ctrl + / // 运行 ctrl + r // 编译 ctrl + b // 字体缩放 ctrl + 鼠标滚轮 // 查找 ctrl + f // 整行移动 ctrl + shift + ↑ 或者 ↓ // 帮助文档 F1 或者 左侧按钮 // 自动对齐 ctrl + i // 同名之间的.h和.cpp切换 F4 myWidget::myWidget(QWidget *parent) : QWidget(parent) { } myWidget::~myWidget() { }