前言:
前面学了Linux的基础命令、系统编程、网络编程,对LInux的使用也有了一个简单的了解与认识,之后的学习就要用到 imx6ull_pro这款开发板进行学习了,所以在使用前还是决定把QT的基础知识学习一下,好在后面的linux图形界面更好上手,下面就先让我们对QT有个具体的认识与了解吧
目录
Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发老提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。
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
Q按照不同的版本发行,分为商业版和开源版
商业版:
为商业软件提供开发,他们提供传统商业软件发行版,并且提供在商业有效期内的免费升级和技术支持服务。
开源的LGPL版本:
为了开发自有而设计的开放源码软件,它提供了和商业版本同样的功能,在GNU通用公共许可下,它是免费的。
为了实现QT在安卓机上环境的使用,必须使用该文件夹下提供的QT版本以及NDK,SDK,JDK,并且qt的项目路径中不允许出现中文和空格。
在QT的安装过程中,安装路径任意,需要安装Android环境,需要勾选Android x86,Android ARMv7,MinGW




(1).跨平台,几乎支持所有的平台
(2).接口简单,容易上手,学习QT框袈对学习其他框袈有参考意义。
(3).一定程度上简化了内存回收机制
(4).开发效率高,能够快速的构建应用程序。
(5).有很好的社区氛围,市场份额在缓慢上升。
(6).可以进行嵌入式开发。·






- 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 //头文件
- #ifndef MYWIDGET_H
- #define MYWIDGET_H
-
- #include
//包含头文件,QWidget窗口类 -
- class myWidget : public QWidget
- {
- Q_OBJECT // Q_OBJECT宏,允许类中使用信号和槽的机制
-
- public:
- myWidget(QWidget *parent = nullptr); //构造函数
- ~myWidget();
- };
- #endif // MYWIDGET_H
- #include "mywidget.h"
-
- #include
//包含一个应用程序类的头文件 -
- //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();
- }
命名规范
类名 首字母大写,单词与单词之间首字母大写
函数名 变量名称 首字母小写,单词与单词之间首字母大写
快捷键
注释 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()
- {
- }
-