Qt 框架的主要用户界面技术是 Qt Quick and Qt Widgets 。Qt Quick 界面是流畅的、动态的、且最适合触摸界面。Qt Widgets 用于创建复杂桌面应用程序。可以创建具有目标平台本机外观和感觉的 Qt Quick 和 Qt Widgets 界面。
Qt Quick 用于创建动态且流畅的 UI (用户界面)。 Qt Quick Controls 模块提供 QML 类型 (譬如:按钮、对话框及菜单)。可以使用 QML 声明性语言,构建 UI 和以 JavaScript 实现逻辑。
下表包含相关概述:
Qt Widgets 是桌面环境中的典型 UI (用户界面) 元素。Qt Widgets 已很好地集成到了底层平台,可在 Windows、Linux 和 macOS 提供本机外观和感觉。Qt Widgets 很成熟且拥有丰富的用户界面元素,适合大多数传统用户界面。相比 Qt Quick ,Qt Widgets 用于创建大型桌面应用程序,且不太适合创建具有流体界面,以触摸为中心的应用程序。
以下列表包含 Qt Widgets 的相关概述:
下表比较 Qt Widgets 和 Qt Quick 界面。
| Qt Quick / Qt Quick Controls | Qt Widgets | 注释 | |
|---|---|---|---|
| 使用语言 | QML/JS | C++ | |
| 本机外观和感觉 |
|
|
Qt Widgets 和 Qt Quick Controls 支持目标平台的本机外观和感觉。 |
| 自定义样式 |
|
|
Qt Widgets 提供定制采用 样式表 而 Qt Quick Controls 拥有选定对于 可定制样式 . |
| 流畅动画 UI |
|
Qt Widgets 无法很好地适应动画伸缩。Qt Quick 提供了按声明方式实现动画的方便且自然方式。 | |
| 触摸屏 |
|
Qt Widgets 为良好交互经常要求鼠标光标,而 Qt Quick 为鼠标和触摸交互两者提供 QML 类型。 | |
| 标准行业 Widget |
|
Qt Widgets 提供用于构建标准行业类型应用程序所需,经 20 多年发展的所有花哨功能。 | |
| 模型/视图编程 |
|
|
Qt Quick 提供方便视图,但 Qt Widgets 提供更方便且完整的框架。除 Qt Quick 视图外,Qt Quick Controls 还提供 TableView . |
| 敏捷 UI 开发 |
|
|
Qt Quick 是敏捷 UI 原型设计和开发的绝佳抉择。 |
| HW (硬件) 加速图形 |
|
|
Qt 为 Qt Quick 界面提供完整硬件加速,而 Qt Widgets 界面是在软件中渲染。 图形 概述有更多信息。 |
| 图形效果 |
|
几个 Qt Quick 模块提供了图形效果,而 Qt Widgets 接口可以使用 Qt GUI 对于效果。 | |
| 富文本处理 |
|
|
目前,Qt Widgets 为实现文本编辑器提供最综合基。Qt 的富文本文档类还可以用于 Qt Quick 和 Qt Quick Controls 的 TextArea ,但可能要求一些 C++ 实现。 |
注意: 可以在 Qt Widgets UI 中显示 QML 视图。更多信息,见 Qt Quick Widgets .
下列页面包含设计和开发 UI (用户界面) 的更多有关信息: