本页面

Qt Quick 控件

Qt Quick Controls 提供了一组控件,可用于在Qt Quick 中构建完整的界面。

基本样式控件图库

Qt Quick Controls 提供了一系列可定制的样式。详情请参阅样式Qt Quick Controls

使用模块

QML API

模块的 QML 类型可通过QtQuick.Controls 导入。要使用这些类型,请在 .qml 文件中添加以下导入语句:

import QtQuick.Controls

C++ API

使用 Qt 模块的 C++ API 需要直接或通过其他依赖关系与模块库链接。一些编译工具对此提供了专门支持,包括CMakeqmake

使用 CMake 构建

使用find_package() 命令在Qt6 软件包中找到所需的模块组件:

find_package(Qt6 REQUIRED COMPONENTS QuickControls2)
target_link_libraries(mytarget PRIVATE Qt6::QuickControls2)

更多详情,请参阅使用 CMake 构建概述。

使用 qmake 构建

要配置模块以便用 qmake 构建,请在项目的 .pro 文件中添加模块作为QT 变量的值:

QT += quickcontrols2

从源代码构建

推荐使用 Qt Image Formats模块是推荐使用的,但并非必需。它支持Imagine 风格使用的.webp 格式。

控件

有关Qt Quick 控件的完整列表,请参见QML Types

按钮控件

AbstractButton

提供按钮通用功能的抽象基本类型

Button

可点击执行命令或回答问题的按钮

CheckBox

可打开或关闭的复选按钮

DelayButton

按住足够长的时间即可触发的复选按钮

RadioButton

可打开或关闭的专用单选按钮

RoundButton

用户可点击的圆角按钮控件

Switch

可打开或关闭的按钮

ToolButton

外观适合工具栏的按钮

容器控件

ApplicationWindow

支持页眉和页脚的样式顶层窗口

Container

抽象基本类型,提供容器的通用功能

Frame

逻辑控件组的视觉框架

GroupBox

逻辑控件组的可视化框架和标题

HorizontalHeaderView

为 TableView 提供水平标题视图

Page

支持页眉和页脚的样式页面控件

Pane

提供与应用程序风格和主题相匹配的背景

ScrollView

可滚动视图

SplitView

在每个项目之间使用可拖动的分割器排列项目

StackView

提供基于堆栈的导航模型

SwipeView

允许用户通过横向滑动浏览页面

TabBar

允许用户在不同视图或子任务之间切换

ToolBar

上下文相关控件的容器

VerticalHeaderView

提供与 TableView 配套的垂直标题视图

委托控件

CheckDelegate

带有可打开或关闭的复选指示器的项目委托

HorizontalHeaderViewDelegate

ItemDelegate

可用于各种视图和控件的基本项目委托

RadioDelegate

专属项目委托,带有可打开或关闭的单选指示器

SwipeDelegate

可轻扫的项目委托

SwitchDelegate

带有可打开或关闭的开关指示器的项目委托

TableViewDelegate

可分配给 TableView 的委托

TreeViewDelegate

可分配给树形视图的委托

VerticalHeaderViewDelegate

指示器控件

BusyIndicator

指示后台活动,例如正在加载内容时

PageIndicator

显示当前活动页面

ProgressBar

显示操作进度

ScrollBar

垂直或水平交互式滚动条

ScrollIndicator

垂直或水平非交互式滚动指示器

输入控件

ComboBox

用于选择选项的组合按钮和弹出列表

Dial

旋转圆形刻度盘以设置数值

DoubleSpinBox

允许用户从一组预设浮点数值中进行选择

RangeSlider

通过沿轨道滑动两个手柄来选择数值范围

SearchField

专门用于搜索功能的输入栏

Slider

通过沿轨道滑动手柄来选择数值

SpinBox

允许用户从一组预设值中进行选择

TextArea

多行文本输入区

TextField

单行文本输入框

Tumbler

可选择项目的可旋转滚轮

ContextMenu

附加类型提供了一种以适合平台的方式打开上下文菜单的方法

Menu

可用作上下文菜单或弹出菜单的弹出窗口

MenuBar

提供窗口菜单栏

MenuBarItem

在菜单栏中显示下拉菜单

MenuItem

在菜单中显示一个项目

Drawer

可使用轻扫手势打开和关闭的侧面板

StackView

提供基于堆栈的导航模型

SwipeView

允许用户通过横向轻扫浏览页面

TabBar

允许用户在不同视图或子任务之间切换

TabButton

外观适合 TabBar 的按钮

Dialog

带有标准按钮和标题的弹出对话框,用于与用户进行短期交互

Drawer

可使用轻扫手势打开和关闭的侧边面板

Menu

可用作上下文菜单或弹出菜单的弹出窗口

Popup

弹出式用户界面控件的基本类型

ToolTip

为任何控件提供工具提示

分隔控件

MenuSeparator

将菜单中的一组项目与相邻项目分隔开来

ToolSeparator

将工具栏中的一组项目与相邻项目分开

模块演变

Qt Quick Controls 最初是以触摸界面为主要重点编写的。虽然现在已经可以开发桌面界面,但仍在努力提供更原生的外观和感觉。

Qt Quick Controls 的变更列出了为 Qt 6 系列 Qt 所做的模块 API 和功能方面的重要变更。

版本方案描述了Qt Quick Controls 所使用的版本方案。

文章和指南

实例

参考资料

许可和归属

Qt Quick Controls 可在The Qt Company 的商业许可下使用。此外,它还可以在GNU Lesser General Public License 第 3 版GNU General Public License 第 2 版下使用。有关详细信息,请参阅Qt Licensing

此外,Qt Quick Controls 可能包含以下许可下的第三方模块:

© 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.