Qt Quick 控件 QML 类型
Qt Quick 控件 提供用于创建用户界面的 QML 类型。这些 QML 类型与 Qt Quick 和 Qt Quick Layouts 一起使用。
您可以使用以下导入语句将 Qt Quick 控件 QML 类型导入到您的 .qml 文件中
import QtQuick.Controls
QML 类型
提供按钮共通功能的抽象基类型 | |
抽象用户界面操作 | |
将操作组合在一起 | |
具有标题和页脚支持的样式化顶层窗口 | |
指示后台活动,例如,在加载数据时 | |
可点击以执行命令或回答问题的按钮 | |
互斥的复选按钮组 | |
日历命名空间 | |
日历模型 | |
可切换开或关的复选框 | |
带有可切换开或关的复选指示器的项目代理 | |
结合按钮和弹出列表以便选择选项 | |
提供容器共通功能的抽象基类型 | |
提供所有控件共通功能的抽象基类型 | |
星期中每天名称的行 | |
按下足够长时间时触发的复选框 | |
旋转以设置值的圆形刻度盘 | |
包含标准按钮和标题的弹出对话框,用于与用户的短期交互 | |
对话框中使用的按钮框 | |
可滑动打开和关闭的侧面板 | |
逻辑控件组的外观框架 | |
逻辑控件组的可视化框架和标题 | |
为 TableView 提供水平标题视图 | |
可用于各种视图和控件的基本项目代理 | |
具有继承字体的样式化文本标签 | |
可用的上下文菜单或弹出菜单 | |
提供窗口菜单栏 | |
在菜单栏中呈现下拉菜单 | |
在菜单中呈现一项 | |
将菜单中的项目组与相邻的项目分开 | |
日历月份中天数网格 | |
弹出窗口的窗口叠加 | |
具有标题和页脚支持的样式化页面控件 | |
指示当前活动的页面 | |
提供与应用程序样式和主题匹配的背景 | |
类似弹出窗口的用户界面控件的基本类型 | |
表示操作进度 | |
可切换开关的单选按钮 | |
具有可切换开关的单选指示器的独占项委托 | |
通过沿轨道滑动两个手柄来选择值范围 | |
用户可以点击的具有圆角的可析按钮 | |
垂直或水平交互式滚动条 | |
垂直或水平非交互式滚动指示器 | |
可滚动视图 | |
用于在表视图中选择单元格 | |
通过沿轨道滑动手柄来选择值 | |
允许用户从预设值集中选择 | |
提供用于 SplitView 句柄的附加属性 | |
在每个项目之间放置可拖动分隔符以布局项目 | |
提供基于堆栈的导航模型 | |
可滑动项目委托 | |
用户可以通过横向滑动来切换页面 | |
可切换开关的按钮 | |
具有可切换开关指示器的项委托 | |
允许用户在不同视图或子任务之间切换 | |
外观适合标签栏的按钮 | |
多行文本输入区域 | |
单行文本输入框 | |
用于括有上下文相关控件的容器 | |
外观适合工具栏的按钮 | |
将工具栏中的一项组与相邻项分开 | |
为任何控件提供工具提示 | |
可以将此委托分配给树视图 | |
可旋转选择的项目轮轨 | |
为表视图提供垂直表头视图 | |
表示周数的列 |
在属性声明中使用 Qt Quick 控制类型
如Qt Quick Templates 2 QML 类型所述,Qt Quick Controls 中的每个类型都由 Qt Quick Templates 中的 C++ "模板" 类型支持。这些类型是控件逻辑和行为的非可视实现。
例如,Menu 类型的 API 和行为由 Qt Quick Templates 中的 C++ 类型定义。每个样式都希望提供菜单,都必须有一个可用的 Menu.qml,并且该文件中的根项必须是 Qt Quick Templates 中的 Menu。当您导入 QtQuick.Controls 并在 QML 中创建一个菜单时,您得到的类型实际上是由样式的 Menu.qml 定义的 QML 菜单。
为了将控件用作属性声明中的类型,您应使用 Qt Quick Templates 中的相应类型。例如,假设您有一个 PopupOpener
组件,它是一个打开弹出窗口的按钮
// PopupButton.qml import QtQuick.Controls Button { required property Popup popup onClicked: popup.open() } // main.qml PopupButton { popup: saveChangesDialog } Dialog { id: saveChangesDialog // ... }
运行此代码将导致错误
Unable to assign Dialog_QMLTYPE to Popup_QMLTYPE
这是因为继承层次结构
Popup (C++ type in QtQuick.Templates) │ └── Popup (QML type in QtQuick.Controls) └── Dialog (C++ type in QtQuick.Templates) └── Dialog (QML type in QtQuick.Controls)
QtQuick.Controls
的 Dialog 不从 QtQuick.Controls
的 Popup 继承,而是从 QtQuick.Templates
继承。
相反,将 Qt Quick Templates 中的 Popup 用作属性类型
// PopupButton.qml import QtQuick.Controls import QtQuick.Templates as T Button { required property T.Popup popup onClicked: popup.open() }
有关 Qt Quick Controls 模块的更多信息,请参阅Qt Quick Controls 模块文档。
相关信息
© 2024 The Qt Company Ltd. 本文档中包含的文档贡献拥有各自的版权。提供的文档根据自由软件基金会发布的协议许可,许可条款为GNU自由文档许可版1.3。Qt及其相关标志是芬兰和/或全球其他国家的The Qt Company Ltd.的商标。所有其他商标均为其各自所有权人的财产。