初识QT
Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。
更新到QT6:
QT: 下载.
- QML:逻辑和GUI界面进行分离
- 更换了全新的图形渲染
- 从Qt6开始支持python(QT for python)
- 大部分兼容QT5
- 推进插件市场,个人开发插件
QT的许可类型
-
基于开源协议
GPL
LGPL -
基于商业许可
这种双重许可模式基于交换原则——大致意思是“以物换物”
QT与C++
- c++是一种编程语言
- QT是一套应用程序的开发框架
- 两者不是同一纬度的东西,QT框架基于C++语言进行开发(QT把c++包装地太好了,让人产生了一种QT是独立语言的错觉)
QT美与丑
优点 | 缺点 |
---|---|
跨平台 | 依赖库冗余、庞大 |
信号与槽机制 | 事件队列机制阻塞 |
多语言 | 对象遍历效率较低 |
为操作系统平台功能提供框架抽象 | 编译速度较慢 |
对象树管理 | 开源版本bug修复较慢 |
简单易上手 |
对比MFC(古老but稳定) ,WPF,duilib(小巧)
(MFC和WPF可能在银行系统用的比较多)
技术选型偏重
- 快速开发软件产品上线,选择qt提高开发效率和缩短开发周期
- 快速开发跨平台产品
- 界面自定义扩展方便,多语言及本地化
- 有对开源qt代码修改
未来发展趋势
- 桌面端与嵌入式
- qt6中对渲染引擎进行了重构,支持我们自定义渲染引擎使用的图形API
- 商业版的qt也将加大开发工具链的搭建
- 推进插件的二次开发,形成插件marketplace来促进生态建设
- 对web端的界面化也有一定的布局,webassembly支持web端
个人发展路线
UI前端开发工程师
- 产品经理/研发经理
- 产品交互工程师
- 架构师