ComboBox QML Type
옵션 선택을 위한 결합 버튼 및 팝업 목록. 더 보기...
Import Statement: | import QtQuick.Controls |
Inherits: |
속성
- acceptableInput : bool
(since QtQuick.Controls 2.2 (Qt 5.9))
- count : int
- currentIndex : int
- currentText : string
- currentValue : var
(since QtQuick.Controls 2.14 (Qt 5.14))
- delegate : Component
- delegateModel : model
- displayText : string
- down : bool
(since QtQuick.Controls 2.2 (Qt 5.9))
- editText : string
(since QtQuick.Controls 2.2 (Qt 5.9))
- editable : bool
(since QtQuick.Controls 2.2 (Qt 5.9))
- flat : bool
(since QtQuick.Controls 2.1 (Qt 5.8))
- highlightedIndex : int
- implicitContentWidthPolicy : enumeration
(since QtQuick.Controls 6.0 (Qt 6.0))
- implicitIndicatorHeight : real
(since QtQuick.Controls 2.5 (Qt 5.12))
- implicitIndicatorWidth : real
(since QtQuick.Controls 2.5 (Qt 5.12))
- indicator : Item
- inputMethodComposing : bool
(since QtQuick.Controls 2.2 (Qt 5.9))
- inputMethodHints : flags
(since QtQuick.Controls 2.2 (Qt 5.9))
- model : model
- popup : Popup
- pressed : bool
- selectTextByMouse : bool
(since QtQuick.Controls 2.15 (Qt 5.15))
- textRole : string
- validator : Validator
(since QtQuick.Controls 2.2 (Qt 5.9))
- valueRole : string
(since QtQuick.Controls 2.14 (Qt 5.14))
신호
- void accepted()
(since QtQuick.Controls 2.2 (Qt 5.9))
- void activated(int index)
- void highlighted(int index)
방법
- void decrementCurrentIndex()
- int find(string text, enumeration flags)
- void incrementCurrentIndex()
- int indexOfValue(object value)
(since QtQuick.Controls 2.14 (Qt 5.14))
- void selectAll()
(since QtQuick.Controls 2.2 (Qt 5.9))
- string textAt(int index)
- var valueAt(int index)
(since QtQuick.Controls 2.14 (Qt 5.14))
자세한 설명
콤보박스는 버튼과 팝업 목록이 결합된 형태입니다. 최소한의 화면 공간을 차지하는 방식으로 사용자에게 옵션 목록을 표시하는 수단을 제공합니다.
콤보박스는 데이터 모델로 채워집니다. 데이터 모델은 일반적으로 JavaScript 배열, ListModel 또는 정수를 사용하지만 다른 유형의 데이터 모델도 지원됩니다.
ComboBox { model: ["First", "Second", "Third"] }
편집 가능한 ComboBox
콤보 상자를 만들 수 있습니다 editable. 편집 가능한 콤보 상자는 모델에서 사용할 수 있는 내용에 따라 텍스트를 자동으로 완성합니다.
다음 예는 accepted 신호에 반응하여 편집 가능한 콤보 상자에 콘텐츠를 추가하는 방법을 보여 줍니다.
ComboBox { editable: true model: ListModel { id: model ListElement { text: "Banana" } ListElement { text: "Apple" } ListElement { text: "Coconut" } } onAccepted: { if (find(editText) === -1) model.append({text: editText}) } }
콤보 상자 팝업
기본적으로 ComboBox의 팝업 외부를 클릭하면 팝업이 닫히고 이벤트는 누적 순서에서 더 낮은 항목으로 전파됩니다. 팝업이 닫히지 않도록 하려면 closePolicy 을 설정하세요:
popup.closePolicy: Popup.CloseOnEscape
이벤트 전파를 방지하려면 modal 속성을 true
으로 설정하세요:
popup.modal: true
콤보박스 모델 역할
ComboBox는 modelData
역할을 제공하는 표준 데이터 모델을 시각화할 수 있습니다:
- 역할이 하나만 있는 모델
- 명명된 역할이 없는 모델(JavaScript 배열, 정수)
명명된 역할이 여러 개 있는 모델을 사용하는 경우, display text 및 delegate 인스턴스에 특정 text role 을 사용하도록 ComboBox를 구성해야 합니다. 텍스트 역할에 해당하는 모델 항목의 역할을 사용하려면 valueRole 을 설정합니다. 그런 다음 currentValue 속성 및 indexOfValue() 메서드를 사용하여 해당 값에 대한 정보를 가져올 수 있습니다.
예를 들어
ApplicationWindow { width: 640 height: 480 visible: true // Used as an example of a backend - this would usually be // e.g. a C++ type exposed to QML. QtObject { id: backend property int modifier } ComboBox { textRole: "text" valueRole: "value" // When an item is selected, update the backend. onActivated: backend.modifier = currentValue // Set the initial currentIndex to the value stored in the backend. Component.onCompleted: currentIndex = indexOfValue(backend.modifier) model: [ { value: Qt.NoModifier, text: qsTr("No modifier") }, { value: Qt.ShiftModifier, text: qsTr("Shift") }, { value: Qt.ControlModifier, text: qsTr("Control") } ] } }
참고: 여러 개의 명명된 역할이 있는 데이터 모델이 ComboBox에 할당되었지만 textRole 이 정의되지 않은 경우 ComboBox는 이를 시각화할 수 없으며 ReferenceError: modelData is not defined
을 던집니다.
Qt Quick Controls 에서콤보 상자, 입력 컨트롤 및 포커스 관리사용자 지정하기를참조하십시오 .
속성 문서
acceptableInput : bool |
count : int |
이 속성은 콤보 상자에 있는 항목 수를 보유합니다.
currentIndex : int |
이 속성은 콤보 상자에 있는 현재 항목의 인덱스를 보유합니다.
기본값은 count 이 0
일 때 -1
이고, 그렇지 않으면 0
입니다.
activated(), currentText, highlightedIndex 를참조하세요 .
currentText : string |
이 속성은 콤보 상자에 있는 현재 항목의 텍스트를 보유합니다.
currentIndex, displayText, textRole 및 editText도 참조 하세요.
currentValue : var |
이 속성은 콤보 상자에 있는 현재 항목의 값을 보유합니다.
이 속성을 사용하는 방법에 대한 예는 ComboBox Model Roles 을 참조하십시오.
이 프로퍼티는 QtQuick.Controls 2.14(Qt 5.14)에 도입되었습니다.
currentIndex, currentText, 및 valueRole 를참조하십시오 .
delegate : Component |
이 프로퍼티는 콤보 상자 팝업에 항목을 표시하는 델리게이트를 보유합니다.
델리게이트로 ItemDelegate (또는 다른 AbstractButton 파생어)를 사용하는 것이 좋습니다. 이렇게 하면 상호 작용이 예상대로 작동하고 적절한 경우 팝업이 자동으로 닫힙니다. 다른 유형을 델리게이트로 사용하는 경우 팝업을 수동으로 닫아야 합니다. 예를 들어 MouseArea 을 사용하는 경우입니다:
delegate: Rectangle { // ... MouseArea { // ... onClicked: comboBox.popup.close() } }
ItemDelegate 및 콤보 상자 사용자 지정하기를참조하세요 .
delegateModel : model |
이 속성은 콤보 상자에 대한 델리게이트 인스턴스를 제공하는 모델을 보유합니다.
일반적으로 popup 의 contentItem 에 있는 ListView 에 할당됩니다.
콤보 상자 사용자 지정하기를참조하세요 .
displayText : string |
이 속성은 콤보 상자 버튼에 표시되는 텍스트를 보유합니다.
기본적으로 표시 텍스트에는 현재 선택 항목이 표시됩니다. 즉, 현재 항목의 텍스트를 따릅니다. 그러나 기본 표시 텍스트는 사용자 지정 값으로 재정의할 수 있습니다.
ComboBox { currentIndex: 1 displayText: "Size: " + currentText model: ["S", "M", "L"] }
currentText 및 textRole 을참조하세요 .
down : bool |
editText : string |
이 속성은 편집 가능한 콤보 상자의 텍스트 필드에 텍스트를 저장합니다.
이 프로퍼티는 QtQuick.Controls 2.2 (Qt 5.9)에 도입되었습니다.
editable, currentText, displayText 를참조하십시오 .
editable : bool |
이 속성은 콤보 상자가 편집 가능한지 여부를 저장합니다.
기본값은 false
입니다.
이 프로퍼티는 QtQuick.Controls 2.2 (Qt 5.9)에 도입되었습니다.
validator 를참조하십시오 .
flat : bool |
이 속성은 콤보 상자 버튼이 평평한지 여부를 저장합니다.
평평한 콤보 상자 버튼은 상호 작용하지 않는 한 배경을 그리지 않습니다. 일반 콤보 상자에 비해 플랫 콤보 상자는 나머지 UI에서 덜 눈에 띄는 모양을 제공합니다. 예를 들어 도구 모음에 콤보 상자를 배치할 때 콤보 상자를 평면으로 만들어 도구 버튼의 평면 모양과 더 잘 어울리도록 하는 것이 바람직할 수 있습니다.
기본값은 false
입니다.
이 프로퍼티는 QtQuick.Controls 2.1(Qt 5.8)에 도입되었습니다.
highlightedIndex : int |
이 속성은 콤보 상자 팝업 목록에서 강조 표시된 항목의 인덱스를 보유합니다.
강조 표시된 항목이 활성화되면 팝업이 닫히고 currentIndex 는 highlightedIndex
로 설정되며 더 이상 강조 표시된 항목이 없으므로 이 속성의 값은 -1
로 재설정됩니다.
highlighted() 및 currentIndex도 참조하세요 .
implicitContentWidthPolicy : enumeration |
이 속성은 ComboBox 의 implicitContentWidth 계산 방법을 제어합니다.
ComboBox 의 너비가 텍스트를 표시하기에 충분히 크지 않은 경우 해당 텍스트는 생략됩니다. 텍스트의 어느 부분을 생략하느냐에 따라 최종 사용자가 항목을 선택하기 어려울 수 있습니다. 텍스트가 가려지지 않도록 ComboBox 의 너비를 충분히 넓게 설정하는 효율적인 방법은 충분히 크다고 알려진 너비를 설정하는 것입니다:
width: 300 implicitContentWidthPolicy: ComboBox.ContentItemImplicitWidth
그러나 텍스트의 크기는 글꼴 패밀리, 글꼴 크기, 번역 등 여러 요인에 따라 달라지므로 하드코딩된 값이 충분히 큰지 여부를 알 수 없는 경우가 많습니다.
implicitContentWidthPolicy는 ComboBox 의 implicitWidth 에 영향을 미치고 텍스트가 생략되지 않도록 하는 implicitContentWidth 계산 방법을 쉽게 제어할 수 있는 방법을 제공합니다.
사용 가능한 값은 다음과 같습니다:
Constant | 설명 |
---|---|
ContentItemImplicitWidth | implicitContentWidth는 contentItem 의 기본값으로 설정됩니다. 추가 텍스트 레이아웃이 수행되지 않으므로 가장 효율적인 옵션입니다. |
WidestText | 모델이 변경될 때마다 지정된 textRole 에 대해 가장 큰 텍스트의 암시적 너비로 implicitContentWidth가 설정됩니다. 이 옵션은 비용이 많이 들 수 있으므로 작은 모델에 사용해야 합니다. |
WidestTextWhenCompleted | component completion 다음에 한 번 지정된 textRole 에 대해 가장 큰 텍스트의 암시적 너비로 implicitContentWidth가 설정됩니다. 이 옵션은 비용이 많이 들 수 있으므로 작은 모델에 사용해야 합니다. |
기본값은 ContentItemImplicitWidth
입니다.
이 속성은 ComboBox 의 implicitWidth
에만 영향을 미치므로 명시적으로 width 를 설정해도 여전히 엘리딩이 발생할 수 있습니다.
참고: 이 기능을 사용하려면 contentItem이 TextInput 에서 파생된 유형이어야 합니다.
참고: 이 기능을 사용하려면 텍스트를 배치해야 하므로 큰 모델이나 콘텐츠가 자주 업데이트되는 모델의 경우 비용이 많이 들 수 있습니다.
이 프로퍼티는 QtQuick.Controls 6.0(Qt 6.0)에 도입되었습니다.
implicitIndicatorHeight : real |
이 속성은 암시적 표시기 높이를 보유합니다.
값은 indicator ? indicator.implicitHeight : 0
입니다.
일반적으로 implicitContentHeight 및 implicitBackgroundHeight 과 함께 implicitHeight 를 계산하는 데 사용됩니다.
이 프로퍼티는 QtQuick.Controls 2.5 (Qt 5.12)에서 도입되었습니다.
implicitIndicatorWidth도 참조하십시오 .
implicitIndicatorWidth : real |
이 프로퍼티는 암시적 표시기 너비를 보유합니다.
값은 indicator ? indicator.implicitWidth : 0
와 같습니다.
이것은 일반적으로 implicitContentWidth 및 implicitBackgroundWidth 과 함께 implicitWidth 를 계산하는 데 사용됩니다.
이 프로퍼티는 QtQuick.Controls 2.5 (Qt 5.12)에 도입되었습니다.
implicitIndicatorHeight도 참조하십시오 .
indicator : Item |
이 속성은 드롭 표시기 항목을 보유합니다.
콤보 상자 사용자 지정하기를참조하십시오 .
inputMethodComposing : bool |
이 속성은 편집 가능한 콤보 상자에 입력 메서드에서 부분 텍스트 입력이 있는지 여부를 보유합니다.
입력 메서드는 작성하는 동안 콤보 상자의 마우스 또는 키 이벤트에 따라 부분 텍스트를 편집하거나 커밋할 수 있습니다. 이 속성은 입력 메서드의 올바른 작동을 방해할 수 있는 이벤트 핸들러를 언제 비활성화할지 결정하는 데 사용할 수 있습니다.
이 프로퍼티는 QtQuick.Controls 2.2(Qt 5.9)에 도입되었습니다.
inputMethodHints : flags |
입력 메서드에 콤보 상자의 예상 콘텐츠와 작동 방식에 대한 힌트를 제공합니다.
기본값은 Qt.ImhNoPredictiveText
입니다.
이 값은 비트 단위의 플래그 조합이며, 힌트가 설정되지 않은 경우 Qt.ImhNone
입니다.
동작을 변경하는 플래그는 다음과 같습니다:
- Qt.ImhHiddenText - 비밀번호를 입력할 때 일반적으로 사용되는 것처럼 문자를 숨겨야 합니다.
- Qt.ImhSensitiveData - 입력된 텍스트가 예측 사용자 사전과 같은 영구 저장소에 활성 입력 방법으로 저장되어서는 안 됩니다.
- Qt.ImhNoAutoUppercase - 입력 메서드가 문장이 끝날 때 자동으로 대문자로 전환하려고 시도해서는 안됩니다.
- Qt.ImhPreferNumbers - 숫자를 선호합니다(필수는 아님).
- Qt.ImhPreferUppercase - 대문자를 선호합니다(필수는 아님).
- Qt.ImhPreferLowercase - 소문자를 선호합니다(필수는 아님).
- Qt.ImhNoPredictiveText - 입력하는 동안 예측 텍스트(예: 사전 조회)를 사용하지 않습니다.
- Qt.ImhDate - 텍스트 편집기가 날짜 필드로 작동합니다.
- Qt.ImhTime - 텍스트 편집기가 시간 필드로 작동합니다.
입력을 제한하는 플래그(독점 플래그)는 다음과 같습니다:
- Qt.ImhDigitsOnly - 숫자만 허용됩니다.
- Qt.ImhFormattedNumbersOnly - 숫자 입력만 허용됩니다. 여기에는 소수점과 빼기 기호가 포함됩니다.
- Qt.ImhUppercaseOnly - 대문자 입력만 허용합니다.
- Qt.ImhLowercaseOnly - 소문자 입력만 허용합니다.
- Qt.ImhDialableCharactersOnly - 전화 다이얼링에 적합한 문자만 허용합니다.
- Qt.ImhEmailCharactersOnly - 이메일 주소에 적합한 문자만 허용합니다.
- Qt.ImhUrlCharactersOnly - URL에 적합한 문자만 허용됩니다.
마스크:
- Qt.ImhExclusiveInputMask - 이 마스크는 독점 플래그 중 하나라도 사용되면 0이 아닌 값을 산출합니다.
이 프로퍼티는 QtQuick.Controls 2.2(Qt 5.9)에 도입되었습니다.
model : model |
이 속성은 콤보 상자에 데이터를 제공하는 모델을 보유합니다.
ComboBox { textRole: "key" model: ListModel { ListElement { key: "First"; value: 123 } ListElement { key: "Second"; value: 456 } ListElement { key: "Third"; value: 789 } } }
popup : Popup |
이 속성은 팝업을 보유합니다.
필요한 경우 팝업을 수동으로 열거나 닫을 수 있습니다:
onSpecialEvent: comboBox.popup.close()
콤보 상자 사용자 지정하기를참조하세요 .
pressed : bool |
이 속성은 콤보 상자 버튼이 물리적으로 눌렸는지 여부를 저장합니다. 버튼은 터치 또는 키 이벤트로 누를 수 있습니다.
down 를참조하세요 .
selectTextByMouse : bool |
이 속성은 편집 가능한 ComboBox 의 텍스트 필드를 마우스로 선택할 수 있는지 여부를 저장합니다.
기본값은 false
입니다.
이 프로퍼티는 QtQuick.Controls 2.15(Qt 5.15)에 도입되었습니다.
textRole : string |
이 속성은 콤보 상자를 채우는 데 사용되는 모델 역할을 보유합니다.
모델에 여러 역할이 있는 경우 textRole
을 설정하여 표시할 역할을 결정할 수 있습니다.
model, currentText, displayText, ComboBox Model Roles 를참조하세요 .
validator : Validator |
이 속성은 편집 가능한 콤보 상자에 대한 입력 텍스트 유효성 검사기를 보유합니다.
유효성 검사기가 설정되면 텍스트 필드는 텍스트 속성을 중간 상태로 유지하는 입력만 허용합니다. Return 또는 Enter 키를 눌렀을 때 텍스트가 허용 가능한 상태인 경우에만 accepted 신호가 전송됩니다.
현재 지원되는 유효성 검사기는 IntValidator, DoubleValidator, RegularExpressionValidator 입니다. 유효성 검사기 사용 예는 아래와 같으며, 0
과 10
사이의 정수를 텍스트 필드에 입력할 수 있습니다:
ComboBox { model: 10 editable: true validator: IntValidator { top: 9 bottom: 0 } }
이 프로퍼티는 QtQuick.Controls 2.2(Qt 5.9)에 도입되었습니다.
acceptableInput, accepted, editable 를참조하십시오 .
valueRole : string |
이 속성은 모델의 각 항목과 관련된 값을 저장하는 데 사용되는 모델 역할을 보유합니다.
이 속성을 사용하는 방법에 대한 예는 ComboBox Model Roles 을 참조하십시오.
이 프로퍼티는 QtQuick.Controls 2.14(Qt 5.14)에서 도입되었습니다.
model 와 currentValue 를참조하십시오 .
신호 문서
|
이 신호는 editable 콤보 상자에서 Return 또는 Enter 키를 누를 때 발생합니다.
예를 들어 새로 입력한 항목을 모델에 추가하기 위해 이 신호를 처리할 수 있습니다:
ComboBox { editable: true model: ListModel { id: model ListElement { text: "Banana" } ListElement { text: "Apple" } ListElement { text: "Coconut" } } onAccepted: { if (find(editText) === -1) model.append({text: editText}) } }
신호가 발생하기 전에 해당 문자열이 모델에 존재하는지 확인합니다. 존재하는 경우 currentIndex 은 해당 인덱스로, currentText 은 문자열 자체로 설정됩니다.
신호가 전송된 후 첫 번째 확인에 실패한 경우(즉, 항목이 존재하지 않는 경우) 신호 처리기에 의해 항목이 추가되었는지 확인하기 위해 다시 확인이 수행됩니다. 추가된 항목이 있으면 currentIndex 및 currentText 이 그에 따라 업데이트됩니다. 그렇지 않으면 각각 -1
및 ""
으로 설정됩니다.
참고: 콤보 상자에 validator 이 설정되어 있는 경우 입력이 허용 가능한 상태인 경우에만 신호가 전송됩니다.
참고: 해당 핸들러는 onAccepted
입니다.
이 신호는 QtQuick.Controls 2.2(Qt 5.9)에서 도입되었습니다.
void activated(int index) |
이 신호는 index 의 항목이 사용자에 의해 활성화될 때 방출됩니다.
팝업이 열려 있는 상태에서 항목을 선택하면 팝업이 닫히고 currentIndex 이 변경되거나, 팝업이 닫히고 키보드로 콤보 상자를 탐색하면 currentIndex 이 변경되는 경우 항목이 활성화됩니다. currentIndex 속성은 index 으로 설정됩니다.
참고: 해당 핸들러는 onActivated
입니다.
currentIndex도 참조하세요 .
void highlighted(int index) |
이 신호는 팝업 목록의 index 에 있는 항목을 사용자가 강조 표시할 때 발생합니다.
강조 표시된 신호는 팝업이 열려 있고 항목이 강조 표시된 경우에만 발생하지만 반드시 activated.
참고: 해당 핸들러는 onHighlighted
입니다.
highlightedIndex 를참조하세요 .
메서드 문서
void decrementCurrentIndex() |
콤보 상자의 현재 인덱스 또는 팝업 목록이 표시된 경우 강조 표시된 인덱스를 감소시킵니다.
currentIndex 및 highlightedIndex도 참조 하세요.
int find(string text, enumeration flags) |
지정된 text 또는 일치하는 항목이 없는 경우 -1
의 인덱스를 반환합니다.
검색이 수행되는 방식은 지정된 일치 검색 flags 에 의해 정의됩니다. 기본적으로 콤보 상자는 대소문자를 구분하는 일치 검색을 수행합니다(Qt.MatchExactly
). Qt.MatchCaseSensitive
플래그가 지정되지 않는 한 다른 모든 일치 유형은 대소문자를 구분하지 않습니다.
상수 | 설명 |
---|---|
Qt.MatchExactly | 검색어가 정확히 일치합니다(기본값). |
Qt.MatchRegularExpression | 검색어가 정규식으로 일치합니다. |
Qt.MatchWildcard | 와일드카드를 사용하여 검색어가 일치합니다. |
Qt.MatchFixedString | 검색어가 고정 문자열로 일치합니다. |
Qt.MatchStartsWith | 검색어가 항목의 시작 부분과 일치합니다. |
Qt.MatchEndsWith | 검색어가 항목의 끝과 일치합니다. |
Qt.MatchContains | 검색어가 항목에 포함되어 있습니다. |
Qt.MatchCaseSensitive | 검색은 대소문자를 구분합니다. |
참고: 이 기능은 ComboBox 에 대해 Component.completed()를 보낸 후에만 사용할 수 있습니다.
예를 들어:
ComboBox { model: ListModel { ListElement { text: "Banana" } ListElement { text: "Apple" } ListElement { text: "Coconut" } } Component.onCompleted: currentIndex = find("Coconut") }
textRole 를참조하세요 .
void incrementCurrentIndex() |
콤보 상자의 현재 색인을 증가시키거나 팝업 목록이 표시된 경우 강조 표시된 색인을 증가시킵니다.
currentIndex 및 highlightedIndex도 참조 하세요.
|
지정된 value 의 인덱스를 반환하거나 일치하는 항목이 없는 경우 -1
을 반환합니다.
이 메서드를 사용하는 방법에 대한 예는 ComboBox Model Roles 을 참조하세요.
참고: 이 함수는 ComboBox 에 대해 Component.completed()를 보낸 후에만 사용할 수 있습니다.
이 메서드는 QtQuick.Controls 2.14(Qt 5.14)에 도입되었습니다.
find(), currentValue, currentIndex, valueRole, valueAt도 참조하십시오 .
|
콤보 상자의 편집 가능한 텍스트 필드에 있는 모든 텍스트를 선택합니다.
이 메서드는 QtQuick.Controls 2.2(Qt 5.9)에 도입되었습니다.
editText 를참조하십시오 .
지정된 index 의 텍스트를 반환하거나 인덱스가 범위를 벗어난 경우 빈 문자열을 반환합니다.
참고: 이 함수는 ComboBox 에 대해 Component.completed()를 보낸 후에만 사용할 수 있습니다.
예를 들어:
ComboBox { model: ListModel { ListElement { text: "Banana" } ListElement { text: "Apple" } ListElement { text: "Coconut" } } onActivated: (index) => { print(textAt(index)) } }
textRole참조 .
콤보 상자의 index 위치에 있는 값을 반환합니다.
이 메서드는 QtQuick.Controls 2.14(Qt 5.14)에 도입되었습니다.
indexOfValue 를참조하십시오 .
© 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.