一.简述Qt
1.什么是Qt
Qt 是⼀个 跨平台的 C++ 图形⽤⼾界⾯应⽤程序框架
。它为应⽤程序开发者提供了建⽴艺术级图形界⾯所需的所有功能。它是完全⾯向对象的,很容易扩展。Qt 为开发者提供了⼀种基于组件的开发模式,开发者可以通过简单的拖拽和组合来实现复杂的应⽤程序,同时也可以使⽤ C++ 语⾔进⾏⾼级开发。
图形用户界⾯ :指采⽤图形⽅式显⽰的计算机操作⽤⼾界⾯,是计算机与其使⽤者之间的对话接⼝,是计算机系统的重要组成部分。框架:是可被应用开发者定制的应用骨架。约束程序员编程。程序员配合框架,完善填充框架中留出的细节即可。(框架可以理解为一个毛坯房,有了这个毛坯房你可以将他装修成自己想要的样子,而不需要再一砖一瓦的去盖房子)
Qt特指用来桌面应用开发的一套技术而桌面应用客户端的重要任务:编写和用户交互界面因此,Qt也是编写桌面GUI程序的一套框架
2.Qt发展史
1991 年 Qt 最早由奇趣科技开发;
1996 年 进⼊商业领域,它也是⽬前流⾏的 Linux 桌⾯环境 KDE 的基础;
2008 年 奇趣科技被诺基亚公司收购,Qt 成为诺基亚旗下的编程⼯具;
2012 年 Qt ⼜被 Digia 公司收购;
2014 年 4 ⽉ 跨平台的集成开发环境 Qt Creator3.1.0 发布,同年 5 ⽉ 20 ⽇发布了 Qt 5.3 正式版,⾄此 Qt 实现了对 IOS、Android、Embedded 等各平台的全⾯⽀持。
3.Qt支持的平台
Windows ‒ XP、Vista、Win7、Win8、Win2008、Win10
Unix/X11 ‒ Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、 BSD/OS、和其他很多 X11 平台
Macintosh ‒ Mac OS X
Embedded ‒ 有帧缓冲⽀持的嵌⼊式 Linux 平台,Windows CE
Android
4.Qt的优点
•
跨平台,⼏乎⽀持所有的平台;
•
接⼝简单,容易上⼿,学习 QT 框架对学习其他框架有参考意义。
•
⼀定程度上简化了内存回收机制;
•
开发效率⾼,能够快速的构建应⽤程序。
•
有很好的社区氛围,市场份额在缓慢上升。
•
可以进⾏嵌⼊式开发。
5.Qt的应用场景
桌⾯应⽤程序
Qt 能够创建各种类型的桌⾯应⽤程序,包括⽂件管理器、媒体播放器、绘图程序等。Qt 应⽤程序⽀持多种操作系统,可以运⾏在 Windows、Linux、macOS 等桌⾯操作系统上。
移动应⽤程序
Qt⽀持 Android 和 IOS 移动操作系统,为应⽤程序提供了强⼤的跨平台能⼒。可以使⽤ Qt 构建各种移动应⽤程序,例如社交应⽤、游戏、娱乐等。
嵌⼊式系统
Qt 在嵌⼊式领域应⽤⾮常⼴泛,它可以构建⾯向各种设备的图形应⽤程序,在机顶盒、⻋载娱乐系统、安防监控设备等领域具有⼴泛的应⽤。
二. 简述Qt Creator
Qt ⽀持多种开发⼯具,其中⽐较常⽤的开发⼯具有:Qt Creator、Visual Studio、Eclipse.
1.什么是Qt Creator
Qt Creator 是⼀个轻量级的跨平台集成开发环境(IDE),专为使⽤ Qt 框架进⾏应⽤程序开发⽽设计。
它是⼀个功能强⼤、易于使⽤、快速且⾼效的⼯具,被⼴泛⽤于编写各种类型的应⽤程序,如桌⾯应⽤程序、移动应⽤程序和嵌⼊式系统等。
Qt Creator 提供了⼀个可视化的界⾯设计器和代码编辑器,可以帮助开发者更快捷地创建复杂的⽤⼾界⾯和处理各种事件。
2.Qt Creator的主要特点
•
紧密集成的 Qt 框架
:Qt Creator 专⻔为 Qt 开发⽽设计,因此它与 Qt 框架集成得⾮常紧密,使开发者可以更容易地管理和部署他们的应⽤程序。
•
强⼤的编辑器
:Qt Creator 具有⼀些先进的编辑器功能,如语法⾼亮、代码折叠、智能提⽰、⾃动完成和代码重构。
•
集成的调试器
:Qt Creator 内置了调试器,允许开发⼈员在代码中设置断点以及检查变量、堆栈和调⽤树等信息。
•
⾼效的构建系统
:Qt Creator 提供了⼀个⾼效的构建系统,可以⾃动构建和部署应⽤程序,同时⽀持使⽤不同的编译器和平台。
•
可视化界⾯设计器
:Qt Creator 具有⼀个可视化界⾯设计器,它允许开发⼈员在没有编写代码的情况下创建复杂的⽤⼾界⾯。
•
多语⾔⽀持
:Qt Creator ⽀持多种编程语⾔,包括 C++、QML、JavaScript 等。
3.Qt Creator 概览
从 开始菜单 或者 快捷⽅式 打开 Qt Creator 集成开发环境,启动之后看到类似下⾯的界⾯:
①:菜单栏。菜单栏⼀共有 8 个菜单选项,包含了常⽤的功能菜单:
文件 | 包含新建,打开,关闭项目和文件,打印和退出等基本功能 |
编辑 | 包含了撤销,剪切,复制,查找和选择编码等功能 |
构建 | 包含构建和运行项目等功能 |
调试 | 包含调试运行项目等相关功能 |
Analze | 包含QML分析器,Valgrind内存和功能分析器等功能 |
工具 |
提供了快速定位菜单、外部⼯具菜单等。这⾥的选项菜单中包含了 Qt Creator 各个⽅⾯的设置选
项:环境设置、⽂本编辑器设置、帮助设置、构建和运⾏设置、调试器设置和版本控制设置等。
|
控件 |
包含了设置窗⼝布局的⼀些菜单,如全屏显⽰和隐藏边栏功能等。
|
帮助 |
包含 Qt 帮助、Qt Creator 版本信息、报告bug和插件管理等菜单。
|
②:模式选择
欢迎模式 |
主要提供了⼀些功能的快捷⼊⼝,如打开帮助教程、打开⽰例程序、打开项⽬、新建项⽬、快速打开以前的项⽬和会话、联⽹查看 Qt 官⽅论坛和博客等。⽰例⻚⾯显⽰了 Qt ⾃带的⼤量⽰例程序,并提供了搜索栏从⽽实现快速查找;教程⻚⾯提供了⼀些视频教程资源,但是是英⽂的。
|
编辑模式 |
主要⽤来查看和编辑程序代码,管理项⽬⽂件。Qt Creator 中的编辑器具有关键字特殊颜⾊显⽰、代码⾃动补全、声明定义间快捷切换、函数原型提⽰、F1 键快速打开相关帮助和全项⽬中进⾏查找等功能。也可以在 "⼯具---->选项 " 菜单中对编辑器进⾏设置。
|
设计模式 |
整合了 Qt Designer 的功能。可以设计图形界⾯,进⾏部件属性设置、信号和槽设置、布局设置等操作。
|
调试模式 |
⽀持设置断点、单步调试和远程调试等功能,包含局部变量和监视器、断点、线程以及快照等查看
窗⼝。
|
项目模式 |
包含对特定项⽬的构建设置、运⾏设置、编辑器设置、代码⻛格设置和依赖关系等⻚⾯。构建设置
中可以对项⽬的版本、使⽤的Qt版本和编译步骤进⾏设置;编辑器设置中可以设置⽂件的默认编
码;在代码⻛格设置中可以设置⾃⼰的代码⻛格。
|
帮助模式 |
在帮助模式中将 Qt 助⼿整合了进来,包含⽬录、索引、查找和书签等⼏个导航模式,可以在帮助中
查看 Qt 和 Qt Creator 的各⽅⾯信息。
|
③:构建套件选择器。构建套件选择器包含了⽬标选择器(Target selector)、运⾏按钮(Run)、调试按钮(Debug)和构建按钮(Building)四个图标。
目标选择器 |
⽬标选择器⽤来选择要构建哪个项⽬、使⽤哪个 Qt 库、这对于多个 Qt 库的项⽬很有⽤。还可以选择编译项⽬的 debug 版本或是 release 版本。
|
运行按钮 |
运⾏按钮可以实现项⽬的构建和运⾏;
|
调试按钮 |
运⾏按钮可以实现项⽬的调试;
|
构建按钮 |
构建按钮完成项⽬的构建。
|
④:欢迎模式下的窗⼝⼯作⽅式。
Project |
⽤来新建⼯程、打开⼯程
|
示例 |
Qt 官⽅的⼀些⽰例
|
教程 | Qt官方教程 |
⑤:定位器。使⽤定位器来快速定位项⽬、⽂件、类、⽅法、帮助⽂档以及⽂件系统。可以使⽤过滤器来更加准确地定位要查找的结果。
⑥:输出窗格。输出窗格包含了问题、搜索结果(Search Results)、应⽤程序输出、编译输出、
Debugger Console、概要信息、测试结果(Test Results)7个选项,它们分别对应⼀个输出窗⼝,响应的快捷键依次是 Alt+数字1~7。
⑦:会话记录;可以对会话进⾏管理,包括 Clone。如果没打开⼯程,则显⽰的是最后⼀次打开的
(会话)⼯程,否则,显⽰当前的会话(⼯程)。
⑧:新建项⽬;
⑨:打开已有项⽬;
4.使⽤ Qt Creator 新建项⽬
4.1新建项目
打开 Qt Creator ,在菜单栏中选中: "⽂件" --------> "新建⽂件或项⽬" ;或者使⽤快捷键:Ctrl +
n;或者直接点击:"new";
4.2.选择项⽬模板
①新建项⽬对话框⾥有五类项⽬模板:
项目模板 | 说明 |
Application |
Qt 应⽤程序,包括普通窗体程序和 QtQuick 程序
|
Library |
可以创建动态库、静态库以及 Qt Quick 扩展插件、QtCreator ⾃⾝插件
|
其他项目 |
可以创建单元测试项⽬、Qt4 设计师⾃定义控件、⼦⽬录项⽬等
|
Non-Qt-Project |
⾮ Qt 项⽬。可以创建纯 C 或纯 C++ 项⽬
|
Import Project |
导⼊项⽬。从版本控制系统管理的软件项⽬导⼊旧的项⽬
|
常⽤的只有第⼀类 Application,选择它,在右侧会看到 Qt 应⽤程序的五个⼦模板:
• Qt Widgets Application:普通窗体模板,传统基于部件的窗体界⾯程序。(使用Qt开发GUI程序就应该选择这个!)
• Qt Console Application:Qt 控制台应⽤程序。因为 Qt 主要⽤于图形界⾯设计,这个控制台项⽬模板基本不⽤。
• Qt for Python:在Python下⽤ LGPL 的许可来开发闭源 Qt 软件。
• Qt Quick Application: Qt 提供的⼀种⾼级⽤⼾界⾯技术,使⽤它可以⽅便快速的为移动以及嵌⼊式设备开发流畅美观的⽤⼾界⾯。Qt Quick 模块是开发 QML 应⽤的标准库,提供了使⽤ QML 创建 ⽤⼾界⾯所需的⼀切,包括可视化、交互、动画、模型、视图、粒⼦效果以及着⾊效果等。
4.3.选择项目路径
给Qt项⽬命名及选择保存项⽬的路径;
4.4.选择构建系统
选择 Qt 项⽬的构建系统,使⽤默认的 "qmake" 即可
Qt 中的构建⼯具有三种可供选择,分别是:qmake、CMake、Qbs,下⾯依次介绍。
• qmake: qmake 是⼀个构建⼯具(build tool),⽤于⾃动⽣成 makefile ⽂件。qmake ⽀持跨平台构建。qmake 编辑的是⼀个后缀名为 .pro 的⽂件。
• CMake:CMake 是⼀个跨平台的构建⼯具。CMake 本⾝不是⼀个编译器,其实就是⽣成⼀个让编译器能读懂编译流程的⽂件⼯具。让 CMake ⾃动⽣成构建系统,例如 Makefile 和 Visual Studio项⽬⽂件。CMake 是⼀个第三⽅⼯具,有⾃⼰的⽂档。
• Qbs:Qbs(Qt Build Suite:Qt构建套件)同 qmake、CMake ⼀样都是构建⼯具。Qbs 号称是新⼀代的构建⼯具,⽐ qmake 编译速度更快。Qbs 没有绑定 Qt 版本,它从项⽬⽂件的⾼级项⽬描述中⽣成⼀个正确的依赖表。⽽传统的 MakeFile ⽣成⼯具如 qmake 和 CMake ,其在⽣成 MakeFile⽂件后将实际的命令交给 Make ⼯具去执⾏。
4.5.填写类信息设置界⾯
使用Qt Creator创建项目,会自动生成一些代码,这些代码中包含一个类。
此时便是选择这个自动生成的类的父类是谁。
①对于基类的选择,⽬前有三种基类:
基类 | 说明 |
QMainWindow
|
主窗⼝类,⼀般⽤于较为复杂的应⽤程序,除了中央客⼾区界⾯,还包括菜单栏、⼯具栏、状态栏以及多个可停靠的⼯具对话框等(
完整的应用窗口
)
|
QWidget
|
最简单、最基本的窗体程序,⾥⾯可以放置多个控件实现程序功能。(
一个控件
)
|
QDialog
|
基于对话框的程序,对话框⼀般⽤于弹窗,也可以⽤于主界⾯显⽰。对话框是从QWidget继承⽽来的,并丰富了⼀些功能,如模态显⽰和返回值等。(
一个对话框
)
|
三种基类关系如图
②form file
Qt中创建图形化界面的程序,有两种方式
1.直接通过c++代码创建
2.通过form file,以图形化的方式来生成界面。
此时就可以使用Qt Designer或Qt Creator来编辑,从而以图形化的方式快速生成图形界面。
4.6.选择语⾔和翻译⽂件
点击 "下⼀步" 进⼊如下界⾯:
此处选择的语⾔是 "汉语", "英语" 这样的语⾔. ⽽不是编程语言
4.7.选择Qt套件
Qt 套件是指 Qt 程序从编译链接到运⾏环境的全部⼯具和 Qt 类库的集合,对于 MinGW 版本 Qt 程序⽣成和调试,⾄少需要 MinGW 中的编译器 g++(⾃动调⽤链接器)、g++ 配套的基础库、调试器 gdb 还有使⽤ MinGW 环境编译⽽成的 Qt 类库⾃⾝。默认情况下,在上⾯ Kit Selection ⾥选中全部套件
4.8.选择版本控制系统
点击 "下⼀步" 进⼊ 项⽬管理界⾯;在项⽬管理界⾯可以设置作为⼦项⽬,以及加⼊版本控制系统管理。这两个功能暂时⽤不到,都⽤默认的 <None> ,然后点击 "完成" 。
这样,一个简单的项目就创建好啦!