SearchField QML Type
검색 기능에 사용하도록 설계된 특수 입력 필드입니다. 더 보기...
Import Statement: | import QtQuick.Controls |
Since: | Qt 6.10 |
Inherits: |
속성
- clearIndicator : real
- currentIndex : int
- delegate : Component
- delegateModel : model
- highlightedIndex : int
- live : bool
- popup : Popup
- searchIndicator : real
- suggestionCount : int
- suggestionModel : model
- text : string
- textRole : string
신호
- void accepted()
- void activated(int index)
- void highlighted(int index)
- void searchTriggered()
- void textEdited()
상세 설명
SearchField는 검색 기능에 사용하도록 설계된 특수 입력 필드입니다. 이 컨트롤에는 텍스트 필드, 검색 및 지우기 아이콘, 제안 또는 검색 결과를 표시하는 팝업이 포함되어 있습니다.
SearchField 모델 역할
SearchField는 modelData
역할을 제공하는 표준 데이터 모델을 시각화할 수 있습니다:
- 역할이 하나만 있는 모델
- 명명된 역할이 없는 모델(JavaScript 배열, 정수)
명명된 역할이 여러 개 있는 모델을 사용하는 경우 text 및 delegate 인스턴스에 대해 특정 text role 을 사용하도록 SearchField를 구성해야 합니다.
ListModel { id : fruitModel ListElement { name: "Apple"; color: "green" } ListElement { name: "Cherry"; color: "red" } ListElement { name: "Banana"; color: "yellow" } ListElement { name: "Orange"; color: "orange" } ListElement { name: "WaterMelon"; color: "pink" } } QSortFilterProxyModel { id: fruitFilter sourceModel: fruitModel filterRegularExpression: RegExp(fruitSearch.text, "i") filterRole: 0 // needs to be set explicitly } SearchField { id: fruitSearch suggestionModel: fruitFilter textRole: "name" anchors.horizontalCenter: parent.horizontalCenter }
속성 문서
clearIndicator : real |
이 속성은 지우기 표시기를 보유합니다.
currentIndex : int |
이 속성은 팝업 목록에서 현재 선택된 제안의 색인을 보유합니다.
기본값은 개수가 0
인 경우 -1
이고, 그렇지 않은 경우 0
입니다.
activated(), text, highlightedIndex 를참조하세요 .
delegate : Component |
이 속성은 검색 필드 팝업에 항목을 표시하는 델리게이트를 보유합니다.
델리게이트로 ItemDelegate (또는 다른 AbstractButton 파생물)을 사용하는 것이 좋습니다. 이렇게 하면 상호 작용이 예상대로 작동하고 적절한 경우 팝업이 자동으로 닫힙니다. 다른 유형을 델리게이트로 사용하는 경우 팝업을 수동으로 닫아야 합니다. 예를 들어 MouseArea 을 사용하는 경우입니다:
delegate: Rectangle { // ... MouseArea { // ... onClicked: searchField.popup.close() } }
delegateModel : model |
이 속성은 검색 필드에 대한 델리게이트 인스턴스를 제공하는 모델을 보유합니다.
일반적으로 popup 의 contentItem 에 있는 ListView 에 할당됩니다.
highlightedIndex : int |
이 속성은 팝업 목록에서 현재 강조 표시된 항목의 인덱스를 보유합니다.
강조 표시된 항목이 활성화되면 팝업이 닫히고 currentIndex 이 highlightedIndex
과 일치하도록 업데이트되며 이 속성은 -1
으로 재설정되어 현재 강조 표시된 항목이 없음을 나타냅니다.
highlighted() 및 currentIndex도 참조하세요 .
live : bool |
이 속성은 모든 텍스트 편집 시 검색이 트리거되는지 여부를 결정하는 부울 값을 보유합니다.
true
로 설정하면 텍스트가 변경될 때마다 searchTriggered() 신호가 발생하여 모든 키 입력에 응답할 수 있습니다. false
로 설정하면 searchTriggered() 신호는 사용자가 Enter 또는 Return 키를 누를 때만 발생합니다.
searchTriggered()도 참조하세요 .
popup : Popup |
이 속성은 팝업을 유지합니다.
필요한 경우 팝업을 수동으로 열거나 닫을 수 있습니다:
onSpecialEvent: searchField.popup.close()
searchIndicator : real |
이 속성은 검색 표시기를 보유합니다.
suggestionCount : int |
이 속성은 제안 모델에서 표시할 제안의 수를 보유합니다.
suggestionModel : model |
이 속성은 팝업 메뉴에 검색 제안을 표시하는 데 사용되는 데이터 모델을 보유합니다.
SearchField { textRole: "age" suggestionModel: ListModel { ListElement { name: "Karen"; age: "66" } ListElement { name: "Jim"; age: "32" } ListElement { name: "Pamela"; age: "28" } } }
textRole 를참조하세요 .
text : string |
이 속성은 검색 필드에 있는 현재 입력 텍스트를 보유합니다.
텍스트는 사용자 입력에 바인딩되어 추천 업데이트 또는 검색 로직을 트리거합니다.
searchTriggered() 및 textEdited()도 참조하세요 .
textRole : string |
이 속성은 팝업 목록에 표시되는 제안 모델에 항목을 표시하는 데 사용되는 모델 역할을 보유합니다.
모델에 여러 역할이 있는 경우 textRole
을 설정하여 표시할 역할을 결정할 수 있습니다.
문서 신호
void accepted() |
이 신호는 사용자가 엔터 키 또는 리턴 키를 눌러 입력을 확인하면 발신됩니다.
이 신호는 일반적으로 최종 텍스트 입력을 기반으로 검색 또는 작업을 트리거하는 데 사용되며, 사용자가 쿼리를 완료하거나 제출하려는 의도를 나타냅니다.
참고: 해당 핸들러는 onAccepted
입니다.
searchTriggered()도 참조하세요 .
void activated(int index) |
이 신호는 index 의 항목이 사용자에 의해 활성화될 때 발생합니다.
팝업이 열려 있는 상태에서 항목을 선택하면 항목이 활성화되어 팝업이 닫히고 currentIndex 이 변경됩니다. currentIndex 속성은 index 으로 설정됩니다.
참고: 해당 핸들러는 onActivated
입니다.
currentIndex 를참조하세요 .
void highlighted(int index) |
이 신호는 팝업 목록의 index 에 있는 항목을 사용자가 강조 표시할 때 발생합니다.
강조 표시된 신호는 팝업이 열려 있고 항목이 강조 표시된 경우에만 발생하지만 반드시 activated.
참고: 해당 핸들러는 onHighlighted
입니다.
highlightedIndex 를참조하세요 .
void searchTriggered() |
이 신호는 검색 작업이 시작될 때 발생합니다.
두 가지 경우에 발생합니다: 1. Enter 또는 Return 키를 누르면 accepted() 신호와 함께 발생 2. 텍스트가 편집되고 live 속성이 true
으로 설정된 경우 이 신호가 발생합니다.
이 신호는 원하는 상호 작용 모델에 따라 사용자가 입력하는 대로 주문형 및 실시간 검색을 시작하는 데 이상적입니다.
참고: 해당 핸들러는 onSearchTriggered
입니다.
accepted() 및 textEdited()도 참조하세요 .
void textEdited() |
이 신호는 사용자가 검색 필드에서 텍스트를 수정할 때마다, 일반적으로 각 키 입력 시마다 발생합니다.
참고: 해당 핸들러는 onTextEdited
입니다.
searchTriggered()도 참조하세요 .
© 2025 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.