Qt 6包含两种用户界面技术:Qt Quick和Qt Widgets。Qt Quick开发的界面流畅、动态,适合于触摸界面;而Qt Widgets用于创建复杂的桌面应用程序。Qt Quick最早出现在Qt 4.7版本,作为一种全新的用户界面技术被引入,其目的就是应对现代化的移动触摸式界面。经过不断优化,直到Qt 5发布,Qt Quick才真正发展壮大,并且能够与Qt Widgets平分秋色。与Qt Widgets使用C++进行开发不同,Qt Quick使用QML来构建用户界面,并使用JavaScript来实现逻辑。
本节对Qt 6中的Qt Quick和Qt Widgets两种技术进行对比介绍,让读者了解在实际编程中应该使用哪种技术。虽然二者存在区别,但是同样基于Qt核心理念进行开发,所以它们在功能实现上也存在着很多联系,本书后面的章节会对这两种技术进行对比讲解,读者在对比学习时可以看到两者是一脉相承的。
前文提到Qt Quick和Qt Widgets两种用户界面技术,对于初学者而言,选择哪种技术可能是一个头疼的问题,下面我们对两者进行多方面对比,如表1-3所示。
表1-3 Qt Quick和Qt Widgets用户界面技术对比
Qt Quick用于创建动态和流畅的用户界面,而Qt Quick Controls提供了按钮、对话框和菜单等控件,不仅可以用来开发移动应用程序,也可以用来开发桌面应用程序。
Qt Widgets包含了桌面环境中常见的用户界面小部件,这些小部件与底层平台很好地集成在一起,可以在Windows、Linux和macOS上提供原生外观。与Qt Quick不同,这些小部件适用于创建大型桌面应用程序,不太适合创建具有流畅界面的以触摸为中心的应用程序。
总体来说,Qt Quick是触摸界面应用的最佳选择。推荐使用Qt Quick的情况如下。
● 使用短周期原型化设计。
● 在移动、嵌入式设备或MCU上运行。
● 在触摸屏上工作。
● 包含大量动画和图形效果。
Qt Widgets主要用于创建复杂的桌面应用程序。推荐使用Qt Widgets的情况如下。
● 大型标准工业应用。
● 仅在桌面上运行。
● 类似于本地Linux、macOS和Windows应用程序。
● 需要很好地集成到底层平台中。