用户界面#
Qt创建用户界面的技术
Qt框架的主要用户界面技术是Qt Quick和Qt Widgets。Qt Quick界面流畅、动态,最适合触摸界面。Qt Widgets用于创建复杂的桌面应用程序。您可以使用目标平台的原生外观和感觉创建Qt Quick和Qt Widgets界面。
使用Qt Quick构建UI#
Qt Quick用于创建动态和流畅的用户界面。Qt Quick Controls模块提供了QML类型,例如按钮、对话框和菜单。您可以使用声明性语言QML构建UI,并使用JavaScript来实现逻辑。
以下列表包含了相关的概述
Qt Quick Controls
QML应用程序 - QML简介
Qt Quick 3D - 3D图形的附加组件
Qt Shader Tools - 着色器效果的附加组件
Qt Widgets用户界面#
Qt Widgets是桌面环境中典型的用户界面元素。小部件与底层平台集成良好,在Windows、Linux和macOS上提供原生外观和感觉。小部件是成熟且功能丰富的用户界面元素,适用于大多数传统用户界面。与Qt Quick相比,小部件用于创建大型桌面应用程序,不太适合创建以触摸为中心且有流畅界面的应用程序。
以下列表包含了Qt Widgets的相关的概述
小部件类
动画框架
应用程序主窗口
对话框窗口
拖放
小部件和图形视图中手势
布局管理
窗口和对话框小部件
样式和小部件
UI接口比较#
以下表格比较了Qt Widgets和Qt Quick接口。
Qt Quick / Qt Quick Controls
Qt Widgets
注释
使用的语言
C++
原生外观和感觉
Qt Widgets和Qt Quick Controls在其目标平台上支持原生外观和感觉。
自定义样式
Qt Widgets通过样式表提供定制化,而Qt Quick Controls提供了一些可定制的样式。
流畅的动画UI
Qt Widgets在动画方面扩展性不好。Qt Quick提供了以声明方式实现动画的便捷和自然方式。
触摸屏
Qt Widgets通常需要一个鼠标光标来获得良好的交互,而Qt Quick提供了QML类型的触摸交互。
标准行业小部件
Qt Widgets提供了解决方案,这些都经过了两十多年的发展,用于构建标准行业类型的应用程序。
模型/视图编程
Qt Quick提供了便利的视图,但Qt Widgets提供了一个更方便、更完整的框架。除了Qt Quick视图外,Qt Quick Controls还提供了一个TableView。
快速UI开发
Qt Quick是快速UI原型和开发的绝佳选择。
硬件加速图形
Qt 为 Qt Quick 接口提供全面硬件加速,Qt Widgets 接口则使用软件渲染。有关更多信息,请参阅 图形 概述。
图形效果
几个 Qt Quick 模块提供图形效果,Qt Widgets 接口可以使用 Qt GUI 进行效果处理。
富文本处理
Qt Widgets 现在提供最全面的文本编辑实现基础。Qt 的富文本文档类也可用于 Qt Quick 和 Qt Quick Controls 的 TextArea,可能需要一些 C++ 实现。