本页

用户界面

Qt Interface Framework 的主要用户界面技术有 Qt QuickQt WidgetsQt Quick 界面流畅、动态,最适合触摸界面。Qt Widgets 用于创建复杂的桌面应用程序。您可以创建具有目标平台本地外观和感觉的Qt QuickQt Widgets 界面。

使用Qt Quick

Qt Quick用于创建动态和流畅的用户界面。Qt Quick Controls模块提供 QML 类型,如按钮、对话框和菜单。您可以使用QML(一种声明式语言)来构建用户界面,并使用 JavaScript 来实现逻辑。

以下列表包含相关概述:

Qt Widgets 用户界面

Qt Widgets是桌面环境中典型的用户界面元素。这些小工具与底层平台集成良好,可在 Windows、Linux 和 macOS 上提供本地外观和感觉。小工具是成熟且功能丰富的用户界面元素,适用于大多数传统用户界面。与 Qt Quick相比,Widget 适合创建大型桌面应用程序,而不太适合创建以触摸为中心、界面流畅的应用程序。

以下列表包含Qt Widgets 的相关概述:

用户界面技术比较

下表对Qt QuickQt Widgets 进行了比较,突出显示了它们的优势、局限性和理想用例:

功能Qt QuickQt Quick 控制Qt Widgets说明
主要语言QML 和 JavaScriptC++Qt Quick Qt Widgets 是命令式的经典 C++。
本地外观和感觉是(通过Qt Quick Controls 风格)。是(本地桌面小部件)。两者都支持目标平台上的本地外观。
自定义样式(自定义样式、自定义 QML 组件)。(Qt 样式表)。这两种框架都允许通过不同机制进行广泛的自定义样式设计。
流畅的动画和过渡是(内置 GPU 加速动画)。有限(通过QPropertyAnimation 支持,但不是为流体 UI 动画设计的)。Qt Quick Qt Widgets
触摸支持是(专为触摸和手势设计)。有限(存在触摸事件,但Qt Widgets 假定为鼠标和键盘输入)。Qt Quick Qt Widgets 需要更多手动操作才能获得良好的触摸用户体验。
标准行业小部件是(提供通用桌面控件,自定义组件可实现任何所需的部件)。是(有丰富的成熟、现成的桌面 widget)。Qt Quick 可实现所有类型的桌面控件,但Qt Widgets 包括更多开箱即用的传统 widget。
模型/视图编程是(通过基于委托的视图提供灵活的模型支持,如ListViewTableView )。是(全面的经典 MVC 视图集,包括QTableViewQListViewQTreeView )。这两种技术都支持强大的模型/视图编程。Qt Quick 使用委托将数据与表现形式明确分开,而Qt Widgets 则提供了大量成熟、现成的模型/视图类。
快速用户界面原型设计是(QML 的迭代速度非常快)。是(对于传统用户界面来说非常快,尤其是使用Qt Widgets Designer)。Qt Quick QML 特别适合快速视觉原型设计,而Qt Widgets 允许使用Qt Widgets Designer 快速组装经典桌面界面。
硬件加速图形是(通过Qt Quick Scene Graph 加速 GPU)。部分(小部件在软件中渲染。可以使用 OpenGL 小部件,但孤立使用)。只有Qt Quick 提供内置全场景 GPU 加速。更多信息请参阅图形
Graphical Effects有(基于着色器的模糊、发光、阴影、色彩效果等)。有限(基本特效仅通过 Qt GUI仅)。Qt Quick Qt Widgets 只提供简单的 CPU 效果。
丰富的文本处理。是(可在Qt QuickQt Quick Controls'TextArea 中使用 Qt 的富文本文档类,但可能需要一些 C++ 实现)。是(通过QTextDocumentQTextEdit 和相关类提供完整支持)。这两种技术都可用于构建复杂的文本编辑器。Qt Quick 通过QTextDocument 与 Qt 的富文本引擎集成,而Qt Widgets 则为文本处理提供了一套成熟的即用类。

注: 您可以在Qt Widgets UI 中显示 QML 视图。更多信息,请参阅Qt Quick Widgets

以下页面包含有关设计和开发用户界面的更多信息:

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.