本页面

Qt Quick Controls

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

Basic 风格的控件图库

Qt Quick Controls 提供了多种可自定义的样式。更多详情请参阅《 Qt Quick Controls 样式设置》。

使用该模块

QML API

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

import QtQuick.Controls

C++ API

要使用 Qt 模块的 C++ API,需要将模块库链接到项目中,既可以直接链接,也可以通过其他依赖项间接链接。包括CMake和qmake 在内的多种构建工具都为此提供了专门的支持。

使用 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 Controls 的完整列表,请参阅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

可分配给TreeView的委托

VerticalHeaderViewDelegate

指示器控件

BusyIndicator

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

PageIndicator

指示当前活动的页面

ProgressBar

指示操作的进度

ScrollBar

垂直或水平交互式滚动条

ScrollIndicator

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

输入控件

ComboBox

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

Dial

通过旋转来设置值的圆形旋钮

DoubleSpinBox

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

RangeSlider

通过沿轨迹滑动两个滑块来选择数值范围

SearchField

专为搜索功能设计的专用输入字段

Slider

通过沿轨道滑动滑块来选择值

SpinBox

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

TextArea

多行文本输入区域

TextField

单行文本输入框

Tumbler

可旋转的选项轮,用于选择项目

ContextMenu

“Attached”类型提供了一种以符合平台规范的方式打开上下文菜单的方法

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 系列所做的模块 API 和功能方面的重大变更。

版本号方案描述了Qt Quick Controls 采用的版本号方案。

文章与指南

示例

参考

许可与归属

Qt Quick Controls 由The Qt Company 提供商业许可。此外,它还遵循GNU 较宽松通用公共许可证第 3 版或 GNU 通用公共许可证第 2 版。更多详细信息请参阅Qt 许可。

此外,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.