选择矩形 QML 类型

用于在 TableView 内选择表格单元格。 更多信息...

导入语句import QtQuick.Controls
自从Qt 6.2
继承

Control

属性

附加属性

详细描述

选择矩形用于在 TableView 中选择表格单元格。它允许用户通过在视口内进行指针拖动或对单元格进行长按来开始选择。

要使选择矩形能够选择单元格,TableView 必须分配一个 ItemSelectionModel。该 ItemSelectionModel 将存储对模型所做的任何选择,并可用于查询用户已选择的单元格。

以下示例演示了如何使选择矩形成为 TableView 的目标

    TableView {
        id: tableView
        anchors.fill: parent
        clip: true

        model: TableModel {
            TableModelColumn { display: "name" }
            rows: [ { "name": "Harry" }, { "name": "Hedwig" } ]
        }

        selectionModel: ItemSelectionModel {
            model: tableView.model
        }

        delegate: Rectangle {
            implicitWidth: 100
            implicitHeight: 30
            color: selected ? "blue" : "lightgray"

            required property bool selected

            Text { text: display }
        }
    }

    SelectionRectangle {
        target: tableView
    }

注意:选择矩形本身不会作为选择的一部分显示。仅使用代表(如 topLeftHandlebottomRightHandle)的委托。您还应考虑将 TableView 委托渲染为选中状态

另请参阅:TableViewTableView::selectionModelItemSelectionModel

属性文档

active : bool [只读]

当用户正在进行选择时,此属性为 true。选择将在用户开始选择时开始激活,并在选择再次被移除时结束,例如,在视口内部轻触。


bottomRightHandle : Component

此属性持有要显示在选择矩形左上角中央的委托。当提供一个句柄时,用户可以拖动它来调整选择。

删除选择时,句柄默认不会隐藏。相反,这是委托的责任,以便开启自定义淡出动画。确保句柄最终隐藏的最简单方法是将其可见性绑定到活动状态。

SelectionRectangle {
    bottomRightHandle: Rectangle {
        width: 20
        height: 20
        visible: SelectionRectangle.control.active
    }
}

如果您不想在右下角显示选择句柄,请将此属性设置为null

另请参阅topLeftHandle


dragging : bool [只读]

用户正在执行指针拖动或句柄拖动以调整选择矩形时,此属性为true


selectionMode : 枚举

此属性表示选择应该开始的时间。

常量描述
SelectionRectangle.Drag通过在视口中进行指针拖动,将开始一个选择。
SelectionRectangle.PressAndHold通过在单元格上按下并持有,将开始一个选择。
SelectionRectangle.AutoSelectionRectangle将根据目标和平台选择要使用的模式。这通常意味着基于触摸的平台上的PressAndHold,以及桌面上的Drag。然而,如果与弹跳冲突,则不会使用Drag。这意味着TableView需要配置为将interactive设置为false,或放置在ScrollView(其中鼠标事件的默认弹跳是关闭的),以便选择Drag模式。

默认值是Auto


target : Item

此属性持有应该在此SelectionRectangle上运行其操作的TableView


topLeftHandle : 组件

此属性持有要显示在选择矩形左上角中央的委托。当提供一个句柄时,用户可以拖动它来调整选择。

删除选择时,句柄默认不会隐藏。相反,这是委托的责任,以便开启自定义淡出动画。确保句柄最终隐藏的最简单方法是将其可见性绑定到活动状态。

SelectionRectangle {
    topLeftHandle: Rectangle {
        width: 20
        height: 20
        visible: SelectionRectangle.control.active
    }
}

如果您不想在左上角显示选择句柄,请将此属性设置为null

另请参阅bottomRightHandle


附加属性文档

SelectionRectangle.control : SelectionRectangle

此附加属性持有管理委托实例的SelectionRectangle。它附加到每个句柄实例。


SelectionRectangle.dragging : bool

如果用户正在拖动句柄,则此附加属性将为true。它附加到每个句柄实例。


© 2024 Qt公司有限公司。包含在此处的文档贡献是各自所有者的版权。提供的文档是根据自由软件基金会发布的GNU自由文档许可版本1.3的条款提供的。Qt以及相关的标志是芬兰的Qt公司及其在全球的商标。所有其他商标属于其各自的所有者。