【QT】背景,安装和介绍
@TOC
目录
背景
GUI技术
QT的安装
使用流程
QT程序介绍
main.cpp编辑
Wiget.h
Widget.cpp
form file
.pro文件
临时文件
C++作为一门比较古老的语言,在人们的认知里始终是以底层,复杂和高性能著称,所以在很多高性能需求的场景之下,C++成为了不二之选,今天讲的QT与这些相反,更突出一种便捷性,他是C++在客户端开发的一门技术。
背景
GUI技术
我们在使用C++进行代码编译的之后,印象最深的就是命令行界面以及终端界面(黑框框), 这几乎贯彻了博主在学习C++整个过程的始末,这样的风格叫做TUI, 这样的软件一般的受众都是程序员, 代表的软件是gcc,gdb等.
与之相反的一种风格叫做GUI, 即图形化界面,这个就是我们平时日常生活中使用的,QT就是用来编写桌面的GUI程序的一套框架。
除了QT外,GUI技术还有很多类型:
- Windows API接口,windows系统提供了一套原生的API接口用来实现桌面应用程序,不过这样开发起来相当的繁琐,对应的接口感兴趣可以去微软的官方文档上面去阅读,里面有对桌面程序的开发介绍,以及相关的接口说明,博主之前使用这些接口完成了一个简单的windows任务管理器的创建,整个过程还是受益匪浅的。
- MFC, 这个是相当老的一个框架,也是微软推出的基于C++的应用程序框架,采用消息映射的机制,将windows消息与类成员函数绑定,方便处理用户交互事件。
- C#, 这个还是微软搞得,用于客户端开发的一门语言。
这些是我比较了解的,除了这些之外,还有很多别的技术,比如WPF, UWP 等。
QT相比这些最大的优势就是可以跨平台。它支持windows各个版本,Linux各种发行版(Linux中的KDE桌面就是基于QT开发的), MAC系统, 嵌入式系统,甚至以前的诺基亚,它的塞班系统就是用QT作为开发应用程序的解决方案的。
其次就是上面我们提到了简便性,这是因为QT有一套大家共同认可的框架。C++相比其他语言有一个很大的劣势就是生态割裂。像前端,Java都存在一个很大的社区,这个社区的框架在这个语言中占据着主导地位,而C++的社区没有这样的情况,所以框架五花八门无法统一下来。QT是其中的异类,他有一套被大家共同认可的框架,使用框架编程,难度自然少了很多。
综上,QT的优点有:
- 跨平台, 几乎支持所有的平台。
- 接口简单,容易上手。
- 简化了内存回收机制(半自动的垃圾回收,能够简化内存释放,也能尽可能小地影响程序的运行该效率)
- 开发效率高,能够很快的构建应用程序
- 可以进行嵌入式开发
QT的安装
编写QT程序,就需要一个QT的集成开发环境(IDE)
- QT Creator
- Visual Studio
- Eclipse
我们今天是使用QT官方提供的IDE——QT Creator。
主要的安装流程不细讲,就是通过官网安装,装好之后,需要配置一下环境变量,将QT SDK中的某个路径加入到Path环境变量中。
这样做的目的是:
- 让操作系统 / Qt Creator 工具,能够找到 Qt SDK 中提供的exe可执行程序
- 运行Qt程序的时候,能够找到对应的.dll动态库
接下来说一下我们安装的这些程序到底有什么作用
这个就是我安装生成的程序
- Assistant 5.14.0 QT自带的离线版本的官方文档
- Designer 5.14.0 QT设计师。 图形化的设计界面工具,通过拖动控件的方法来快速生成界面。通常可以和QT Creator搭配使用。
- Linguist 5.14.0 QT预言家,作用是对国际化进行支持,用于海外服务。允许单独创建一个配置文件,将界面文字的各种语言翻译配置进去,类似游戏中的一键切换语言。
- QT Creator 4.11.0 QT的集成开发环境
使用流程
第一步: 创建新的工程
第二步:选择应用程序的开发方式
第三步:命名和创建路径
第四步:选择构造系统
可以从qmake, cmake, Qbs中选择。
第五步:选择自动生成的类的父类
- QMainWindows 完整的应用程序窗口(可以包括菜单栏,工具栏,状态栏)
- QWight 表示一个控件(窗口上的一个具体元素,输入框, 下拉框,按钮等)
- QDialog 表示一个对话框
QT中内置的类都是以Q前缀开头的
第七步:国际化
第八步:选择基于哪个编译器的QtSDK来构建后续代码。
QT程序介绍
main.cpp
Wiget.h
Widget.cpp
form file
双击点开ui界面,Qt Creator就会调用Qt Designer,打开ui文件,图形化的界面编译器
里面时Qt的内置控件,以及一些编译属性,通过这个编译属性可以修改每个控件的具体行为。
通过Qt Designer可以打开左侧的编译,可以看到xml格式的代码
.pro文件
临时文件
在运行一次程序之后,就会在项目目录并列的地方,多一个”build -xxxxxxx“ 目录,这个目录里面就是该项目运行过程中,生成的一些临时文件。
里面的内容如下:
其中的ui_widget.h就是一个xml生成的头文件。