CheckDelegate QML 类型
具有可切换的勾选指示器的项目代理,可在开启和关闭之间切换。更多信息...
导入语句 | import QtQuick.Controls |
继承 |
属性
- checkState : 枚举
- nextCheckState : 函数
(自 QtQuick.Controls 2.4 (Qt 5.11) 起支持)
- tristate : 布尔值
详细描述
CheckDelegate 表示一个可以切换开启(选中)或关闭(未选中)的项目代理。检查代理通常用于从列表中的选项集中选择一个或多个选项。对于较小的选项集或需要唯一可识别的选项,请考虑使用CheckBox代替。
CheckDelegate 从ItemDelegate继承其 API,后者从AbstractButton继承。例如,您可以为 text 设置文本,并使用AbstractButton API响应用户点击。检查代理的状态可以通过 checked 属性设置。
除了选中与未选中状态外,还有一个第三种状态:部分选中。可以通过使用tristate 属性启用部分选中状态。此状态指示常规的选中/未选中状态无法确定;通常因为会影响检查代理的其他状态。当在树视图中选择多个子节点时,此状态非常有用。
ListView { model: ["Option 1", "Option 2", "Option 3"] delegate: CheckDelegate { text: modelData } }
另请参阅 自定义 CheckDelegate、代理控件和CheckBox。
属性文档
checkState : 枚举 |
nextCheckState : 函数 |
该属性包含一个回调函数,当用户通过触摸、鼠标或键盘与检查代理交互性切换时,用于确定下一次检查状态。
默认情况下,普通检查代理在Qt.Unchecked
和Qt.Checked
状态之间循环,三态检查代理在Qt.Unchecked
、Qt.PartiallyChecked
和Qt.Checked
状态之间循环。
nextCheckState
回调函数可以覆盖默认行为。以下示例实现了一个三态检查代理,可以根据外部条件显示部分选中状态,但永远不会在用户通过交互切换时循环到部分选中状态。
CheckDelegate { tristate: true checkState: allChildrenChecked ? Qt.Checked : anyChildChecked ? Qt.PartiallyChecked : Qt.Unchecked nextCheckState: function() { if (checkState === Qt.Checked) return Qt.Unchecked else return Qt.Checked } }
此属性是在QtQuick.Controls 2.4(Qt 5.11)中引入的。
tristate : bool |
该属性确定检查代理是否有三个状态。
在下面的动画中,第一个checkdelegate是三态的
默认值是false
,即代理只有两个状态。
© 2024 Qt公司。此处包含的文档贡献版权属于各自的拥有者。本提供的文档是在自由软件基金会发布的GNU自由文档许可协议版本1.3的条款下许可的。Qt及其相关标志是芬兰及其它全球国家的The Qt Company Ltd的商标。所有其他商标均为其各自所有者的财产。