当前位置:首页 > 技术文章 > 正文内容

Qt为什么站稳c++GUI的top1

douba31个月前 (08-02)技术文章9

为什么现在QT越来越成为c++界面编程的第一选择,从事QT编程多年,在这之前做C++界面都是基于MFC。

当时为什么会从MFC转到QT?主要原因是MFC开发界面想做得好看一些十分困难,引用第三方基于MFC的界面库代码也是比较混乱,当时主要看到qt有qss样式设计这个功能,可以尝试试下。当项目移植到到QT后,觉得MFC真的是可以抛弃了,MFC相对于QT缺点实在太多。最终一定要抛弃MFC的原因是,代码需要从windows移植到linux下,所以MFC的一个致命的缺陷,没法跨平台

Qt为什么站稳c++GUI的top1

1. 工具软件丰富

QT不仅提供了功能丰富的SDK开发包,还提供了强大的工具,这也是我们选择他的原因之一。

基于VS的插件qt-vs-addin

qt的手册还是比较完备,并且包含了很多示例的源码。

基于XML的界面设计器Qt Designer,应该是c++领域最方便的界面设计器。

跨平台的开发工具 QtCreator,跨平台的c++开发工具,应该是在linux上最方便的c++开发调试工具,就算不用QT库,也可以用它来开发跨平台的c++项目,这是qt成为top1最牛逼的因素

2. 功能库丰富

除了提供了界面库之外,还提供了音频库,3d库,数据库SDK,WebEngine,网络库等,让我们做跨平台程序变得简便。

3. 开源并跨平台

可以自己通过QT源码进行移植,这是成为top1的第二牛逼因素,qt官方就已经提供了再windows,Android,ios,linux中运行的SDK

4. 架构的优势

界面源码与用户源码的隔离,qt的策略是没有界面都会生成一个对应的源码,比如有一个界面设计文件xps.ui 它会解析其中的xml生成一个对应了ui_xps.h 文件,这个文件你不需要修改,如果要调用界面中的控件直接通过 Ui::XPSClass ui; 这个对象定义也是写在ui_xps.h中。也就是你的业务逻辑就和界面控件对象的创建和设置做了隔离。

事件处理的便捷(灵活的信号槽机制),qt提供了信号槽机制,可以很好的降低耦合,提升代码的复用性,这是成为top1的第三牛逼因素

5. 及其便捷的样式设计(像开发web程序一样设计界面)

可以很容易的做一个圆角边框,并且有渐变效果,鼠标移上去还发生变化,可以参考下面的样式表,qss基本和css类似,包括支持css的选择器,这是成为top1的第四牛逼因素,可以通过类名,对象名,和父类名称来设置。

6.有未来

如果问Qt的未来会如何,我觉得是稳中有进。之所以稳,是因为Qt原本有优势的领域,未来依然有优势,毕竟要求高性能,支持非windows系统,还要开发效率高,Qt的竞争者并不多。

而有进,是因为随着国产化的推进,许多软件需要国产化替代,这一两年我看到有很多使用Qt的新项目,我觉得是个好兆头。

相关文章

ToDesk Linux更新发布:新增摄像头、网络诊断

ToDesk更新来了!最新版Liunx-4.3.0.0针对Linux用户上新了摄像头、网络诊断等多种实用功能,大幅提升了用户使用体验。并且ToDesk全面支持国产三大操作系统——麒麟、统信、方德,为L...

本地部署宝塔平替轻量级linux面板mdserver-web并实现远程访问

前言在服务器管理的世界里,宝塔面板一直是很多人的首选。它以其简洁的操作界面和丰富的功能赢得了无数用户的青睐。然而,随着时间的推移,一些用户开始对宝塔的一些限制感到不满,比如强制绑定手机号、广告频繁等问...

linux的6种查找文件的方法(linux 文件 查找)

学习linux,查找文件也算是一个痛点,尤其是在系统没有开启图形化。Linux作为一个成熟的系统,也提供了多种命令行工具和图形界面工具来帮助我们进行文件搜索和查找。下面是一些常见的查找文件的方法:fi...

Linux 中,查找文件指令用法解析(linux查找文件夹命令)

find 命令是 linux 系统中一种强大的搜索命令,用来在系统中精准定位到所需文件的位置,并可以提供各个参数方便筛选查找。用法find [起始路径] [选项] [表达式]起始路径:搜索的根目录选项...

Linux如何查看文件(linux如何查看文件夹创建时间)

Linux如何查看目录下的所有文件?用ls(list)查看当前目录下的所有文件和子目录。Ls查看目录下的文件,怎么区分是目录还是文件呢?第一种方式,我们可以通过颜色来区分目录和文件。默认情况下,目录显...

在linux上怎么查看cpu信息(linux中如何查看cpu)

在 Linux 上,可以使用多种命令查看 CPU 信息。以下是最常用的几个命令:使用 lscpu 命令: 打开终端并输入以下命令:lscpu此命令将显示有关 CPU 的详细信息,包括核心数, 文章末尾...