前言:
前面学了Linux的基础命令、系统编程、网络编程,对LInux的使用也有了一个简单的了解与认识,之后的学习就要用到 imx6ull_pro这款开发板进行学习了,所以在使用前还是决定把QT的基础知识学习一下,好在后面的linux图形界面更好上手,下面就先让我们对QT有个具体的认识与了解吧
目录
一、QT的概述:
1.什么是QT:
2.支持的平台:
3.QT版本:
4.QT安装:
5.QT的优点:
二、QT项目的创建
编辑
三、项目介绍
1. .pro文件
2.头文件:
3.main.cpp
4.mywidget.cpp
一、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 guigreaterThan(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.0SOURCES += \main.cpp \ //源文件mywidget.cppHEADERS += \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父类 -》 QWidgetmyWidget 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切换 F4myWidget::myWidget(QWidget *parent): QWidget(parent)
{
}myWidget::~myWidget()
{
}