이 페이지에서

SelectionRectangle QML Type

TableView 내의 테이블 셀을 선택하는 데 사용됩니다. 더 보기...

Import Statement: import QtQuick.Controls
Since: Qt 6.2
Inherits:

Control

속성

연관 속성

상세 설명

테이블 항목을 선택하기 위한 선택 사각형

SelectionRectangle은 TableView 에서 테이블 셀을 선택하는 데 사용됩니다. 이를 통해 사용자는 뷰포트 내에서 포인터를 드래그하거나 셀을 길게 눌러 선택을 시작할 수 있습니다.

SelectionRectangle이 셀을 선택할 수 있으려면, TableView 에 ItemSelectionModel 가 할당되어 있어야 합니다. ItemSelectionModel 는 모델에서 수행된 모든 선택 내용을 저장하며, 사용자가 어떤 셀을 선택했는지 조회하는 데 사용할 수 있습니다.

다음 예제는 SelectionRectangle이 TableView 을 대상으로 하도록 설정하는 방법을 보여줍니다:

    TableView {
        id: tableView
        anchors.fill: parent
        clip: true
        acceptedButtons: Qt.NoButton // mouse-drag changes selection

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

        selectionModel: ItemSelectionModel {
            model: tableView.model
        }

        delegate: TableViewDelegate { padding: 2 }
    }

    SelectionRectangle {
        target: tableView
    }

참고: SelectionRectangle 자체는 선택 범위의 일부로 표시되지 않습니다. topLeftHandle 및 bottomRightHandle 과 같은 델리게이트만 사용됩니다. 또한 rendering the TableView delegate as selected 도 고려해야 합니다.

TableView, TableView::selectionModel 및 ItemSelectionModel도 참조하십시오 .

속성 문서

active : bool [read-only]

이 속성은 사용자가 선택을 수행하는 동안 ` true `입니다. 선택 상태는 사용자가 선택을 시작하는 시점부터, 예를 들어 뷰포트 내부를 탭하여 선택이 해제될 때까지 유지됩니다.

bottomRightHandle : Component

이 속성은 선택 사각형의 왼쪽 상단 모서리 중앙에 표시될 핸들을 포함합니다. 핸들이 제공되면 사용자는 이를 드래그하여 선택 영역을 조정할 수 있습니다.

선택 영역이 제거될 때 핸들은 기본적으로 숨겨지지 않습니다. 대신, 사용자 정의 페이드 아웃 애니메이션을 구현하기 위해 핸들을 숨기는 것은 델리게이트의 역할입니다. 핸들이 최종적으로 숨겨지도록 하는 가장 쉬운 방법은 ` visible `를 ` SelectionRectangle`의 ` active ` 상태에 바인딩하는 것입니다:

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

오른쪽 하단에 선택 핸들이 표시되지 않게 하려면 이 속성을 ` null `로 설정하십시오.

topLeftHandle항목도 참조하십시오 .

dragging : bool [read-only]

사용자가 선택 사각형을 조정하기 위해 포인터를 드래그하거나 핸들을 드래그할 때마다 이 속성은 ` true `가 됩니다.

selectionMode : enumeration

이 속성은 선택이 시작되어야 할 시점에 적용됩니다.

상수설명
SelectionRectangle.Drag뷰포트 내에서 포인터를 드래그하면 선택이 시작됩니다.
SelectionRectangle.PressAndHold셀 위에서 버튼을 누르고 있으면 선택이 시작됩니다.
SelectionRectangle.AutoSelectionRectangle target 와 사용 중인 입력 장치에 따라 사용할 모드를 선택합니다. 일반적으로 마우스를 사용할 때는 가, 터치스크린에서는 가 적용됩니다. 단, ‘ ’은 플릭킹과 충돌하지 않는 경우에만 사용됩니다. 충돌을 피하는 한 가지 방법은 ‘ ’을 ‘ ’로 설정하여 마우스 드래그 플릭킹을 비활성화하는 것입니다. 이 경우 마우스 휠이나 터치패드 스크롤 제스처는 계속 작동하고, 터치스크린 플릭킹도 계속 작동하며, 터치스크린 선택은 누르고 있는 상태로 시작할 수 있습니다. 또 다른 방법은 ` `를 ` `로 설정하여 플릭킹과 스크롤링을 모두 비활성화하는 것입니다(아마도 이는 UI의 특정 모드에서 일시적으로만 수행해야 할 것입니다). 또 다른 방법은 ` `를 ` ` 내부에 배치하는 것입니다(여기서는 기본적으로 마우스 이벤트에 대한 플릭킹이 비활성화되어 있습니다). Drag PressAndHold Drag acceptedButtons Qt.NoButton interactive false TableView ScrollView

기본값은 ` Auto`입니다.

target : Item

이 속성은 ` SelectionRectangle `가 적용되어야 하는 ` TableView `를 포함합니다.

topLeftHandle : Component

이 속성은 선택 사각형의 왼쪽 상단 모서리 중앙에 표시될 델리게이트를 보관합니다. 핸들이 제공되면 사용자는 이를 드래그하여 선택 영역을 조정할 수 있습니다.

선택 영역이 제거될 때 핸들은 기본적으로 숨겨지지 않습니다. 대신, 사용자 정의 페이드 아웃 애니메이션을 구현하기 위해 핸들을 숨기는 작업은 델리게이트의 책임입니다. 핸들이 최종적으로 숨겨지도록 하는 가장 쉬운 방법은 SelectionRectangle 의 active 상태에 visible 를 바인딩하는 것입니다:

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

왼쪽 상단에 선택 핸들이 표시되지 않게 하려면 이 속성을 null 로 설정하십시오.

bottomRightHandle도 참조하십시오 .

첨부된 속성 설명서

SelectionRectangle.control : SelectionRectangle [attached]

이 첨부 속성은 델리게이트 인스턴스를 관리하는 SelectionRectangle 를 포함하고 있습니다. 이 속성은 각 핸들 인스턴스에 첨부되어 있습니다.

SelectionRectangle.dragging : bool [attached]

사용자가 핸들을 드래그하고 있는 경우, 이 첨부 속성의 값은 ` true `가 됩니다. 이 속성은 각 핸들 인스턴스에 첨부되어 있습니다.

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