网站软文得特点,十大装修公司排名哪家最好,网站建设方案是什么意思,学习网站建设的网站QT - 安装、创建项目
1. 概述
1.1 什么是QT
Qt 是一个跨平台的 C图形用户界面应用程序框架。
它为应用程序开发者提供建立艺术级图形界面所需的所有功能。
它是完全面向对象的#xff0c;很容易扩展#xff0c;并且允许真正的组件编程。
1.2 发展史 1991 年 Qt 最早由奇…QT - 安装、创建项目
1. 概述
1.1 什么是QT
Qt 是一个跨平台的 C图形用户界面应用程序框架。
它为应用程序开发者提供建立艺术级图形界面所需的所有功能。
它是完全面向对象的很容易扩展并且允许真正的组件编程。
1.2 发展史 1991 年 Qt 最早由奇趣科技开发 1996 年 进入商业领域它也是目前流行的 Linux 桌面环境 KDE 的基础 2008 年 奇趣科技被诺基亚公司收购Qt 称为诺基亚旗下的编程语言 2012 年 Qt 又被 Digia 公司收购 2014 年 4 月 跨平台的集成开发环境 Qt Creator3.1.0 发布 同年 5 月 20 日配发了 Qt5.3 正式版至此 Qt 实现了对 iOS、Android、WP 等各平台的全面支持。 1.3 支持平台
Windows – XP、Vista、Win7、Win8、Win2008、Win10Uinux/X11 – Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、BSD/OS、和其他很多 X11 平台Macintosh – Mac OS XEmbedded – 有帧缓冲支持的嵌入式 Linux 平台Windows CE
1.4 版本
商业版
为商业软件提供开发他们提供传统商业软件发行版并且提供在商业有效期内的免费升级和技术支持服务
开源版
为了开发自有而设计的开放源码软件它提供了和商业版本同样的功能在GNU 通用公共许可下它是免费的。
1.5 下载
下载地址
http://www.qt.io/download-open-source/
或者
http://download.qt.io/archive/qt/1.6 安装
1.6.1 Linux安装
安装 将下载到的QTLiunx版本拷贝到ubuntu的tools文件夹下 终端进入安装包所在的tools文件下 运行安装的run文件 命令:sudo ./qt-opensource-linux-x64-5.14.2.run
输入密码点击下一步 注册或登录 选择安装位置不要修改 选择安装的模块 断网准备安装 安装 耐心等待安装结束
配置环境变量 进入qt安装路径/opt/Qt5.14.2A/5.14.2/gcc_64/bin其中有qmake文件 打开bashrc文件配置环境变量 sudo vi ~/.bashrc将 export PATHqmake文件所在路径:$PATH 添加到文件尾部 如:export PATH/opt/Qt5.14.2A/5.14.2/gcc_64/bin:$PATH重启bashrc source ~/.bashrc查询qmake命令是否生效
1.6.2 Windows安装
注意安装路径其他一路next。
2. 创建QT项目
2.1 创建项目
2.2.1 创建空项目
在不使用集成开发环境的情况下
步骤: 1创建一个空文件夹2在该文件夹创建xxx.pro文件3,在该文件夹中创建main.cpp文件4,在该文件夹中创建widget.h文件5,在该文件夹中创建widget.cpp文件6编写xxx.pro文件7编写main.cpp8,编写widget.h与widget.cpp文件2.2.2 集成开发环境新建
步骤1选择新建
方式一 方式二 点击左上角文件 -- 新建文件或项目步骤2选择项目类型 步骤3填写项目名称与存储位置 2.2 项目结构 2.3 运行
2.3.1 windows运行 2.3.2 Linux运行 将项目拷贝到liunx系统中 终端进入项目所在文件夹 使用qmake命令生成makefile文件 命令:qmake使用make命令生产可执行文件 命令: make注意如果出现以下问题需要安装libgl1-mesa-dev 命令:sudo apt-get install libgl1-mesa-dev运行 命令:./项目名2.4 工程.pro文件说明
# 添加源信息 core核心源码 gui图形化源码
QT core gui# 如果Qt版本大于4,没 QT添加 widgets组件库
greaterThan(QT_MAJOR_VERSION, 4): QT widgets
#生成的.exe文件名
TARGET demo01
#模板类型,app表示应用程序模板
TEMPLATE app# 使用 c11 标准
# g -stdc11
CONFIG c11# Qt 过时警告
DEFINES QT_DEPRECATED_WARNINGS# cpp的源文件 【重要】
SOURCES \main.cpp \widget.cpp# 头文件 【重要】
HEADERS \widget.h# 编译时输出的可执行程序的名称
TARGET hello# 部署安装时的选项qnx是嵌入式的操作系统的名称
qnx: target.path /tmp/$${TARGET}/bin# 如果不是qnx是unix非Android时,安装的目标位置是 /opt/../bin
else: unix:!android: target.path /opt/$${TARGET}/bin# 如果target.path路径非空时则设置安装路径
!isEmpty(target.path): INSTALLS target2.5 widget.h文件介绍 2.6 widget.cpp文件介绍 2.7 QT助手
QT的帮助文档 2.8 QT对象模型(对象树)
QObjectQwidgetQMainWindowQPushButton...Qt的对象模型又称之为对象树 即子组件与父组件的关系非父子类关系。 在 Qt 中创建对象的时候会提供一个 Parent 对象指针 即为 父组件对象的指针。 QObject 是以对象树的形式组织起来的 当你创建一个 QObject 对象时会看到 QObject 的构造函数接收一个QObject 指针作为参数这个参数就是 parent也就是父对象指针。指定了parent之后 QObject 对象会 自动添加 到其父parent对象的 children() 列表当父对象析构的时候这个列表中的所有对象也会被析构。 QWidget 是能够在屏幕上显示的一切组件的父类: QWidget 继承自 QObject因此也继承了这种对象树关系。一个组件自动地成为父组件的一个子组件。我们也可以自己删除子对象它们会自动从其父对象列表中删除。 Qt 引入对象树的概念在一定程度上解决了内存问题。 如果 QObject 在栈上创建Qt 保持同样的行为。正常情况下这也不会发生什么问题。 但是在局部代码块中创建时程序运行之后则会动释放界面上不会显示。 在 Qt 中尽量在构造的时候就指定 parent 对象并且大胆在堆上创建。
2.9 QT界面坐标系