OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5037|回复: 1

初识Qt,Qt是什么?QT能做什么?

[复制链接]

1118

主题

1129

帖子

2

精华

超级版主

Rank: 8Rank: 8

积分
4672
金钱
4672
注册时间
2019-5-8
在线时间
1224 小时
发表于 2021-9-1 12:52:33 | 显示全部楼层 |阅读模式
本帖最后由 正点原子运营 于 2021-11-1 10:37 编辑

以下文章摘自微信公众号——开源电子网《初识Qt,Qt是什么?》
更多技术文章,请扫下方二维码关注

开源电子网,扫码2222222.png



01 Qt是什么

  Qt是一个跨平台的C++开发库。主要用来开发图形用户界面(Graphical User Interface,简称GUI)程序。

  Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是Qt 的全部;Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能,比如多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等,这些 Qt 都已经内置了。
Qt 还存在 Python、Ruby、Perl 等脚本语言的绑定, 也就是说可以使用脚本语言开发基于 Qt 的程序。开源社区就是这样,好东西就会被派生扩展,到处使用,越来越壮大。

  Qt 支持的操作系统有很多,例如通用操作系统 Windows、Linux、Unix,智能手机系统 Android、iOS、WinPhone, 嵌入式系统 QNX、VxWorks 等等。

  简单的来说,Qt可以做很多东西,好比如Windows下的软件也有很多是Qt开发的,这里我很喜欢它的一个特性就是跨平台使用,“跨平台”代表一份代码可以无需任何修改或者小修改就可以在其他平台上运行。一句话来说Qt就是您做界面需要选择的一个好工具!

02 Qt能做什么


  Qt能做什么?理论上来说,您能想到的App,Qt它都基本能做。像WPS这种大型的桌面应用,Maya(3D建模),一些游戏的内核都可以使用Qt来实现。甚至您能快速使用Qt来开发一款像酷狗,网易云音乐这样的音乐播放器。在嵌入式里,使用Qt来开发界面已经是无可替代的一种趋势。工控界面最常用,一些移动端的界面也开始使用Qt。像点菜机,温度采集数据显示,汽车仪表,速度显示界面等。Qt能做优美的界面,所以推出了QML(一种描述性的语言)。每次Qt更新都有在Quick(QML使用的模块)上优化或者添加功能,看来Qt打算在移动设备端的开发市场端进军!呵呵,其实Qt早已经在这块发展了!下面是本书开发的一些界面小例子,请欣赏。

  要想开发好的界面关键是要有想法。可以说如果您是做界面其实大多数时间花在美化界面上,功能都是比较容易实现的。最好读者需要有一定的美工基础,例如会基本的PS,在开发过程中就不用去麻烦公司的美工了,开发界面和程序一起做。

1.jpg
图1:暗黑主题音乐播放器界面UI设计

2.jpg
图2:简约的视频界面设计
3.png
图3: 炫酷车载音乐APP主界面开发



  这些设计都尽在【正点原子】I.MX6U嵌入式Qt开发指南V1.0.2第十二章多媒体章节和项目实战篇里。编者水平有限,但是爱设计UI,尽量把UI设计得好看与实用。至少比其他Qt书籍设计的好看。Qt设计本来就应该在界面上多下功夫,功能都是不难实现的,日后在大家会发现,设计界面占用的时间可能是70%,写程序可能占30%。大家应该在设计界面上多多下功夫!!!

03 Qt/C++与QML


  QML是Qt C++基础上拓展的。也就是说Qt C++上所使用界面的类,基本都是可以拓展到QML上。如果不能拓展的,也可以直接QML与C++一起使用。实际上Qt C++效率更高。所以本教程都是Qt C++为基础做教程入门教程,QML可以说是一个加分项。Qt QML模块提供QML语言开发应用程序和库提供了一个框架。QML本身不涉及显示部分的内容,所以Qt Quick模块充当了这部分的作用。至于他们三者的关系,我们就这样简单的了解一下就行了。

  Qt C++在底层编写功能更突出,若要做好看的界面且功能强大,Qt C++与QML语言结合是必不可少的。QML语言负责界面层,而底层调用Qt C++。比如文件的读写、图像处理、多线程通信等这些都是需要C++来编写完成的。
在目前来说,Qt C++更成熟,QML目前也比较成熟了,因为每次更新版本QML也有更新。不过在低版本的Qt(如Qt5.6以下),QML还不够成熟,QML在高版本的Qt(如Qt5.7以上)更成熟。C++依旧是 Qt 的主要编程语言,Qt 5 也并没有忽略它,Qt 5 添加了很多新的 C++ API,而且会持续更新。引入 QML应该是Qt向移动端市场的一个突破,还有python和javascript都可以在Qt里用。

  说了C++又说QML,但是Qt基础教程还是主打Qt C++,有了基础学Qt里其他的东西就不难!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

201

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2552
金钱
2552
注册时间
2019-12-5
在线时间
352 小时
发表于 2021-9-10 16:41:27 | 显示全部楼层
顶一个,多更新就更好了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 16:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表