java qt gui_工控编程,Qt 学习之路

本文介绍了Qt作为C++ GUI编程库的特点,对比了wxWidget和gtk++,强调了Qt的SIGNAL/SLOT机制、可移植性和LGPL授权优势。适合Java程序员迁移学习。
摘要由CSDN通过智能技术生成

原标题:工控编程,Qt 学习之路

Qt 是一个著名的 C++ 库——或许并不能说这只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI。使用 Qt,在一定程序上你获得的是一个“一站式”的服务:不再需要研究 STL,不再需要 C++ 的string,因为Qt有它自己的 QString 等等。或许这样说很偏激,但 Qt 确实是一个“伟大的 C++ 库”。

我们所使用的 Qt,确切地说也就是它的 GUI 编程部分。C++ 的 GUI 编程同 Java 不同:GUI 并不是 C++ 标准的一部分。所以,如果使用 Java,那么你最好的选择就是 AWT/Swing,或者也可以使SWT/JFace,但是,C++ 的 GUI 编程给了你更多的选择:wxWidget, gtk++ 以及 Qt。这几个库我都有接触,但是接触都不是很多,只能靠一些资料和自己的一点粗浅的认识说一下它们之间的区别(PS: 更详尽的比较在前面的文章中有)。

787b7b388f6dc75af1779890a344c4dc.png

wxWidget

首先说 wxWidget,这是一个标准的 C++ 库,和 Qt 一样庞大。它的语法看上去和 MFC 类似,有大量的宏。据说,一个 MFC 程序员可以很容易的转换到 wxWidget 上面来。wxWidget 有一个很大的优点,就是它的界面都是原生风格的。这是其他的库所不能做到的。wxWidget 的运行效率很高,据说在Windows 平台上比起微软自家的 MFC 也不相上下。

gtk++

gtk++ 其实是一个 C 库,不过由于 C++ 和 C 之间的关系,这点并没有很大的关系。但是,gtk++ 是一个使用 C 语言很优雅的实现了面向对象程序设计的范例。不过,这也同样带来了一个问题——它的里面带有大量的类型转换的宏来模拟多态,并且它的函数名“又臭又长(不过这点我倒是觉得无所谓,因为它的函数名虽然很长,但是同样很清晰)”,使用下划线分割单词,看上去和 Linux 如出一辙。由于它是 C 语言实现,因此它的运行效率当然不在话下。gtk++ 并不是模拟的原生界面,而有它自己的风格,所以有时候就会和操作系统的界面显得格格不入。

QT

再来看 Qt,和 wxWidget 一样,它也是一个标准的 C++ 库。但是它的语法很类似于 Java 的Swing,十分清晰,而且 SIGNAL/SLOT 机制使得程序看起来很明白——这也是我首先选择 Qt 的一个很重要的方面,因为我是学 Java 出身的 :) 。不过,所谓“成也萧何,败也萧何”,这种机制虽然很清楚,但是它所带来的后果是你需要使用 Qt 的 qmake 对程序进行预处理,才能够再使用 make 或者nmake 进行编译。并且它的界面也不是原生风格的,尽管 Qt 使用 style 机制十分巧妙的模拟了本地界面。另外值得一提的是,Qt 不仅仅运行在桌面环境中,Qt 已经被 Nokia 收购,它现在已经会成为Symbian 系列的主要界面技术—— Qt 是能够运行于嵌入式平台的。

以往人们对 Qt 的授权多有诟病。因为 Qt 的商业版本价格不菲,开源版本使用的是 GPL 协议。但是现在 Qt 的开源协议已经变成 LGPL。这意味着,你可以将 Qt 作为一个库连接到一个闭源软件里面。可以说,现在的 Qt 协议的争议已经不存在了——因为 wxWidgets 或者 gtk+ 同样使用的是类似的协议发布的。

在本系列文章中,我们将使用 Qt4 进行 C++ GUI 的开发。我是参照着《C++ GUI Programming with Qt4》一书进行学习的。其实,我也只是初学 Qt4,在这里将这个学习笔记记下来,希望能够方便更多的朋友学习 Qt4。我是一个 Java 程序员,感觉 Qt4 的一些命名规范以及约束同 Java 有异曲同工之妙,因而从 Java 迁移到 Qt4 似乎困难不大。不过,这也主要是因为 Qt4 良好的设计等等。

责任编辑:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: QT是一个跨平台的应用程序开发框架,使用C++编程语言,并加入的一些特性。它丰富的库和各种可用的界面控件,使得开发工控界面变得非常简单而美观。以下是一些漂亮的工控界面源码: 1. QT Quick Controls 2 QT Quick Controls 2提供一组被用于电子设备和嵌入式系统的快捷控件,这些符合风格和美学标准的控件可以使用不同的主题进行美化。这些控件可以轻松地用于嵌入控制系统中,并提供了多种样式和颜色选项,非常适合工业应用。 2. QML Dashboard QML Dashboard是一个使用QT Quick技术编写的灵活、可定制的控制面板,它可以让用户创建出色的工控界面,是一种非常适合显示系统各类数据和状态的解决方案。 3. QWT QWT是一个专为工程师和科学家设计的C++库,包含了一些用于数据显示和处理的图形控件,支持数学、统计图形、数据分析等。QWT支持纯C/C++代码,非常适合开发高效的、多平台的软件。 4. QtitanRibbon QtitanRibbon是一个非常漂亮、功能强大的工控界面库,支持Office 2007/2010/2013/2016 窗体的风格,它可以使用QML和C++代码编写高质量的自制映射组件,非常适合开发工业领域的应用。 总结来说,QT拥有众多丰富的控件和库,让用户可以轻松创建漂亮、功能强大的工控界面,可以满足工业制造、医疗、交通、智能运维等诸多领域的应用需求。 ### 回答2: Qt是一种跨平台的开发框架,广泛应用于电子设备和工业自动化领域。它提供了一种直观而易于使用的GUI设计工具,让开发者能够快速创建高质量的用户界面。Qt的界面美观大方,深受工控界面设计人员的青睐。 一些关于Qt漂亮的工控界面源码如下: 1. QCustomPlot:这是一个功能强大的绘图库,具有深度定制的基于Qt的绘图和数据可视化解决方案。它支持多种绘图类型,包括线状图、区域图、直方图、图形和文本注释等。在工控领域,它被广泛用于实时数据绘制和分析、图像识别和模式识别等应用程序中。 2. QMPlay2:这是一个开源的多媒体播放器,使用Qt库来实现其用户界面。它支持大部分常见的媒体格式,可以播放本地文件和网络流。在工控领域,它可应用于监视和记录多媒体数据、分布式视频监控和控制等应用中。 3. QtitanRibbon:这是一个基于Qt的Ribbon库,它提供了Office系列应用程序常见的Ribbon用户界面。Ribbon是一种明确的UI设计模式,使用大量的图标和文本标签,以帮助用户更轻松地查找和使用应用程序的功能。在工控界面设计中,它可以使用户界面显得更为美观和实用。 总之,Qt漂亮的工控界面源码提供了广泛的应用场景,使工控设备在界面上更加美观、易用和流畅。这些源码在工控开发中有着广泛的应用价值,可以有效地提高工控设备的实用性和使用体验,更好地满足工业自动化应用程序的需求。 ### 回答3: Qt是一种流行的跨平台框架,用于设计和开发各种应用程序。作为一个现代的GUI框架,Qt提供了一组简单易用的工具和API,以帮助开发人员快速创建漂亮和易于使用的GUI界面。 在工业自动化领域,Qt工控界面得到了广泛的应用。工控系统的任务是管理和监控各种各样的生产过程,因此,工控界面必须直观、易用、可靠。 Qt提供了许多优秀的工控界面源码,可供开发人员使用。这些源码涵盖了各种GUI元素和工具,如按钮、列表、日期选择器、文本框、图表、图像和视频等。此外,它们还包含了常见的UI功能,如应用程序设置、数据管理、用户授权、网络通信等。 这些Qt工控界面源码通常都是免费的,并且具有可定制性和可扩展性。开发人员可以根据自己的需要进行修改和改进,以满足其具体项目的要求。 总之,Qt工控界面源码是设计和开发工业自动化系统的必备资源,它们能帮助开发人员快速构建优秀的界面,提高生产效率,提高用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值