QAbstractSpinBox Class
QAbstractSpinBox 클래스는 값을 표시하기 위한 스핀박스 및 라인 에디트를 제공합니다. 더 보기...
| 헤더: | #include <QAbstractSpinBox> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 상속: | QWidget |
| 상속받는 항목: |
공개 유형
| enum | ButtonSymbols { UpDownArrows, PlusMinus, NoButtons } |
| enum | CorrectionMode { CorrectToPreviousValue, CorrectToNearestValue } |
| flags | StepEnabled |
| enum | StepEnabledFlag { StepNone, StepUpEnabled, StepDownEnabled } |
| enum | StepType { DefaultStepType, AdaptiveDecimalStepType } |
속성
|
|
공개 함수
| QAbstractSpinBox(QWidget *parent = nullptr) | |
| virtual | ~QAbstractSpinBox() |
| Qt::Alignment | alignment() const |
| QAbstractSpinBox::ButtonSymbols | buttonSymbols() const |
| QAbstractSpinBox::CorrectionMode | correctionMode() const |
| virtual void | fixup(QString &input) const |
| bool | hasAcceptableInput() const |
| bool | hasFrame() const |
| void | interpretText() |
| bool | isAccelerated() const |
| bool | isGroupSeparatorShown() const |
| bool | isReadOnly() const |
| bool | keyboardTracking() const |
| void | setAccelerated(bool on) |
| void | setAlignment(Qt::Alignment flag) |
| void | setButtonSymbols(QAbstractSpinBox::ButtonSymbols bs) |
| void | setCorrectionMode(QAbstractSpinBox::CorrectionMode cm) |
| void | setFrame(bool) |
| void | setGroupSeparatorShown(bool shown) |
| void | setKeyboardTracking(bool kt) |
| void | setReadOnly(bool r) |
| void | setSpecialValueText(const QString &txt) |
| void | setWrapping(bool w) |
| QString | specialValueText() const |
| virtual void | stepBy(int steps) |
| QString | text() const |
| virtual QValidator::State | validate(QString &input, int &pos) const |
| bool | wrapping() const |
재구현된 공용 함수
| virtual bool | event(QEvent *event) override |
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery query) const override |
| virtual QSize | minimumSizeHint() const override |
| virtual QSize | sizeHint() const override |
공개 슬롯
신호
| void | editingFinished() |
(since 6.10) void | returnPressed() |
보호된 함수
| virtual void | initStyleOption(QStyleOptionSpinBox *option) const |
| QLineEdit * | lineEdit() const |
| void | setLineEdit(QLineEdit *lineEdit) |
| virtual QAbstractSpinBox::StepEnabled | stepEnabled() const |
재구현된 보호 함수
| virtual void | changeEvent(QEvent *event) override |
| virtual void | closeEvent(QCloseEvent *event) override |
| virtual void | contextMenuEvent(QContextMenuEvent *event) override |
| virtual void | focusInEvent(QFocusEvent *event) override |
| virtual void | focusOutEvent(QFocusEvent *event) override |
| virtual void | hideEvent(QHideEvent *event) override |
| virtual void | keyPressEvent(QKeyEvent *event) override |
| virtual void | keyReleaseEvent(QKeyEvent *event) override |
| virtual void | mouseMoveEvent(QMouseEvent *event) override |
| virtual void | mousePressEvent(QMouseEvent *event) override |
| virtual void | mouseReleaseEvent(QMouseEvent *event) override |
| virtual void | paintEvent(QPaintEvent *event) override |
| virtual void | resizeEvent(QResizeEvent *event) override |
| virtual void | showEvent(QShowEvent *event) override |
| virtual void | timerEvent(QTimerEvent *event) override |
| virtual void | wheelEvent(QWheelEvent *event) override |
상세 설명
이 클래스는 QSpinBox, QDoubleSpinBox 등의 위젯을 위한 공통 슈퍼 클래스로 설계되었으며 QDateTimeEdit
이 클래스의 주요 속성은 다음과 같습니다:
- text: QAbstractSpinBox에 표시되는 텍스트입니다.
- alignment: QAbstractSpinBox 내 텍스트의 정렬 방식.
- wrapping: QAbstractSpinBox가 최소값에서 최대값으로, 또는 그 반대로 순환하는지 여부.
QAbstractSpinBox는 사용자가 단계 이동을 트리거할 때마다 호출되는 가상 함수 ` stepBy()`를 제공합니다. 이 함수는 이동한 단계 수를 나타내는 정수 값을 매개변수로 받습니다. 예를 들어, ` Qt::Key_Down `를 누르면 ` stepBy`(-1) 호출이 트리거됩니다.
사용자가 Qt::ControlModifier 를 누른 상태에서 스텝을 트리거하면, QAbstractSpinBox는 한 번의 스텝 대신 10번의 스텝을 수행합니다. 이 스텝 수정자는 휠 이벤트, 키 이벤트 및 스핀박스 버튼과의 상호작용에 영향을 미칩니다. macOS에서는 Control 키가 Command 키에 해당한다는 점에 유의하십시오.
Qt 5.12부터는 QStyle::SH_SpinBox_StepModifier 을 사용하여 어떤 Qt::KeyboardModifier 의 단계 속도를 증가시킬지 선택할 수 있습니다. Qt::NoModifier 은 이 기능을 비활성화합니다.
QAbstractSpinBox는 또한 특정 지점에서 단계별 증가/감소가 허용되는지 여부를 판단하는 가상 함수 stepEnabled()을 제공합니다. 이 함수는 StepEnabled 의 비트셋을 반환합니다.
QAbstractSlider, QSpinBox, QDoubleSpinBox, QDateTimeEdit 및 Spin Boxes 예제를참조하십시오 .
멤버 유형 설명서
enum QAbstractSpinBox::ButtonSymbols
이 열거형 유형은 스핀 박스의 버튼에 표시될 수 있는 기호들을 정의합니다.

| 상수 | 값 | 설명 |
|---|---|---|
QAbstractSpinBox::UpDownArrows | 0 | 클래식 스타일의 작은 화살표. |
QAbstractSpinBox::PlusMinus | 1 | '+' 및 '-' 기호. |
QAbstractSpinBox::NoButtons | 2 | 버튼을 표시하지 않습니다. |
QAbstractSpinBox::buttonSymbols도 참조하십시오 .
enum QAbstractSpinBox::CorrectionMode
이 열거형 유형은 편집이 완료되었을 때 스핀박스가 ‘ Intermediate ’ 값을 수정하는 데 사용할 모드를 나타냅니다.
| 상수 | 값 | 설명 |
|---|---|---|
QAbstractSpinBox::CorrectToPreviousValue | 0 | 스핀박스는 마지막으로 유효했던 값으로 되돌아갑니다. |
QAbstractSpinBox::CorrectToNearestValue | 1 | 스핀박스가 가장 가까운 유효한 값으로 되돌아갑니다. |
correctionMode도 참조하십시오 .
enum QAbstractSpinBox::StepEnabledFlag
flags QAbstractSpinBox::StepEnabled
| 상수 | 값 |
|---|---|
QAbstractSpinBox::StepNone | 0x00 |
QAbstractSpinBox::StepUpEnabled | 0x01 |
QAbstractSpinBox::StepDownEnabled | 0x02 |
StepEnabled 유형은 QFlags<StepEnabledFlag>에 대한 typedef입니다. 이 유형은 StepEnabledFlag 값들의 OR 조합을 저장합니다.
enum QAbstractSpinBox::StepType
| 상수 | 상수 |
|---|---|
QAbstractSpinBox::DefaultStepType | 0 |
QAbstractSpinBox::AdaptiveDecimalStepType | 1 |
속성 문서
accelerated : bool
이 속성은 스핀 박스에서 ‘올리기/내리기’ 버튼을 누를 때 단계 간격의 빈도가 빨라질지 여부를 결정합니다.
이 기능이 활성화되면, 버튼을 길게 누를수록 스핀 박스의 값이 더 빠르게 증가하거나 감소합니다.
액세스 함수:
| bool | isAccelerated() const |
| void | setAccelerated(bool on) |
[read-only] acceptableInput : bool
이 속성은 입력값이 현재 유효성 검사 조건을 충족하는지 여부를 나타냅니다.
액세스 함수:
| bool | hasAcceptableInput() const |
validate(), fixup(), correctionMode도 참조하십시오 .
alignment : Qt::Alignment
이 속성은 스핀 박스의 정렬 방향을 지정합니다.
사용 가능한 값은 Qt::AlignLeft, Qt::AlignRight, Qt::AlignHCenter 입니다.
기본적으로 정렬 방식은 Qt::AlignLeft
허용되지 않는 플래그 조합으로 정렬을 설정하려고 하면 아무런 동작도 발생하지 않습니다.
액세스 함수:
| Qt::Alignment | alignment() const |
| void | setAlignment(Qt::Alignment flag) |
Qt::Alignment도 참조하십시오 .
buttonSymbols : ButtonSymbols
이 속성은 현재 버튼 심볼 모드를 저장합니다.
가능한 값은 UpDownArrows 또는 PlusMinus 중 하나입니다. 기본값은 UpDownArrows 입니다.
일부 스타일에서는 ` PlusMinus `과 ` UpDownArrows `이 동일하게 렌더링될 수 있습니다.
액세스 함수:
| QAbstractSpinBox::ButtonSymbols | buttonSymbols() const |
| void | setButtonSymbols(QAbstractSpinBox::ButtonSymbols bs) |
ButtonSymbols도 참조하십시오 .
correctionMode : CorrectionMode
이 속성은 편집이 완료된 후 ‘ Intermediate ’ 값을 수정할 모드를 지정합니다.
기본 모드는 ' QAbstractSpinBox::CorrectToPreviousValue'입니다.
액세스 함수:
| QAbstractSpinBox::CorrectionMode | correctionMode() const |
| void | setCorrectionMode(QAbstractSpinBox::CorrectionMode cm) |
acceptableInput, validate() 및 fixup()도 참조하십시오 .
frame : bool
이 속성은 스핀 박스가 테두리를 표시하든
이 속성이 활성화되어 있으면(기본값), 스핀 박스는 프레임 안에 표시되며, 그렇지 않으면 프레임 없이 표시됩니다.
액세스 함수:
| bool | hasFrame() const |
| void | setFrame(bool) |
keyboardTracking : bool
이 속성은 스핀박스에서 키보드 추적 기능이 활성화되어 있는지 여부를 나타냅니다.
키보드 추적 기능이 활성화되어 있는 경우(기본값), 키보드를 통해 새 값을 입력하는 동안 스핀박스는 valueChanged() 및 textChanged() 신호를 발생시킵니다.
예를 들어, 사용자가 6, 0, 0을 입력하여 값 600을 입력하면, 스핀박스는 각각 6, 60, 600 값을 가진 3개의 신호를 발생시킵니다.
키보드 추적 기능이 비활성화된 경우, 스핀박스는 입력 중에는 valueChanged() 및 textChanged() 신호를 발생시키지 않습니다. 이 신호들은 나중에, 즉 리턴 키를 누르거나 키보드 포커스를 잃거나 화살표 키를 누르는 등 다른 스핀박스 기능이 사용될 때 발생합니다.
액세스 함수:
| bool | keyboardTracking() const |
| void | setKeyboardTracking(bool kt) |
readOnly : bool
이 속성은 스핀 박스가 읽기 전용인지 여부를 나타냅니다.
읽기 전용 모드에서도 사용자는 텍스트를 클립보드에 복사하거나 드래그 앤 드롭할 수 있지만, 텍스트를 편집할 수는 없습니다.
QAbstractSpinBox 의 QLineEdit 는 읽기 전용 모드에서 커서를 표시하지 않습니다.
액세스 함수:
| bool | isReadOnly() const |
| void | setReadOnly(bool r) |
QLineEdit::readOnly도 참조하십시오 .
showGroupSeparator : bool
이 속성은 천 단위 구분자가 활성화되어 있는지 여부를 나타냅니다. 기본적으로 이 속성의 값은 false입니다.
액세스 함수:
| bool | isGroupSeparatorShown() const |
| void | setGroupSeparatorShown(bool shown) |
specialValueText : QString
이 속성은 특수 값 텍스트를 저장합니다.
이 속성이 설정되어 있으면, 현재 값이 minimum()과 같을 때마다 스핀 박스는 숫자 값 대신 이 텍스트를 표시합니다. 일반적으로 이 선택 항목이 특별한(기본) 의미를 갖는다는 것을 나타내는 데 사용됩니다.
예를 들어, 스핀 박스를 통해 사용자가 이미지 표시를 위한 배율(또는 확대/축소 수준)을 선택할 수 있고, 애플리케이션이 이미지가 디스플레이 창에 완전히 들어맞도록 배율을 자동으로 선택할 수 있는 경우, 스핀 박스를 다음과 같이 설정할 수 있습니다.
QSpinBox *zoomSpinBox = new QSpinBox;
zoomSpinBox->setRange(0, 1000);
zoomSpinBox->setSingleStep(10);
zoomSpinBox->setSuffix("%");
zoomSpinBox->setSpecialValueText(tr("Automatic"));
zoomSpinBox->setValue(100);그러면 사용자는 1%에서 1000% 사이의 배율을 선택하거나, “자동”을 선택하여 애플리케이션이 자동으로 결정하도록 할 수 있습니다. 이때 코드는 스핀 박스의 값이 0일 경우, 이를 사용자가 이미지를 창에 맞게 조정해 달라는 요청으로 해석해야 합니다.
모든 값은 접두사와 접미사(설정된 경우)와 함께 표시되지만, 특수 값의 경우 특수 값 텍스트만 표시됩니다. 이 특수 텍스트는 ` QString`를 전달하는 ` QSpinBox::textChanged()` 신호를 통해 전달됩니다.
특수 값 텍스트 표시를 해제하려면 이 함수를 빈 문자열로 호출하십시오. 기본값은 특수 값 텍스트가 표시되지 않는 것으로, 즉 숫자 값이 평소와 같이 표시됩니다.
특별 값 텍스트가 설정되지 않은 경우, specialValueText()는 빈 문자열을 반환합니다.
액세스 함수:
| QString | specialValueText() const |
| void | setSpecialValueText(const QString &txt) |
[read-only] text : QString
이 속성은 접두사 및 접미사를 포함한 스핀 박스의 텍스트를 저장합니다.
기본 텍스트는 없습니다.
액세스 함수:
| QString | text() const |
wrapping : bool
이 속성은 스핀 박스가 원형인지 여부를 나타냅니다.
wrapping이 true인 경우, maximum() 값에서 한 단계씩 증가하면 minimum() 값으로 이동하며, 그 반대의 경우도 마찬가지입니다. wrapping은 minimum() 및 maximum() 값이 설정된 경우에만 의미가 있습니다.
QSpinBox *spinBox = new QSpinBox(this);
spinBox->setRange(0, 100);
spinBox->setWrapping(true);
spinBox->setValue(100);
spinBox->stepBy(1);
// value is 0액세스 함수:
| bool | wrapping() const |
| void | setWrapping(bool w) |
QSpinBox::minimum() 및 QSpinBox::maximum()도 참조하십시오 .
멤버 함수 문서
[explicit] QAbstractSpinBox::QAbstractSpinBox(QWidget *parent = nullptr)
지정된 ` parent `를 사용하여, 기본값인 ` wrapping` 및 정렬 속성을 갖는 추상 스핀박스를 생성합니다.
[virtual noexcept] QAbstractSpinBox::~QAbstractSpinBox()
QAbstractSpinBox 가 소멸될 때 호출됩니다.
[override virtual protected] void QAbstractSpinBox::changeEvent(QEvent *event)
QWidget::changeEvent(QEvent *event)를 재구현합니다.
[virtual slot] void QAbstractSpinBox::clear()
접두사와 접미사를 제외한 모든 텍스트를 lineedit에서 지웁니다.
[override virtual protected] void QAbstractSpinBox::closeEvent(QCloseEvent *event)
QWidget::closeEvent(QCloseEvent *event)를 재구현합니다.
[override virtual protected] void QAbstractSpinBox::contextMenuEvent(QContextMenuEvent *event)
QWidget::contextMenuEvent(QContextMenuEvent *event)를 재구현합니다.
[signal] void QAbstractSpinBox::editingFinished()
이 신호는 편집이 완료되면 발생합니다. 이는 스핀박스의 포커스가 사라지거나 Enter 키를 누를 때 발생합니다.
[override virtual] bool QAbstractSpinBox::event(QEvent *event)
QWidget::event(QEvent *event)를 재구현합니다.
[virtual] void QAbstractSpinBox::fixup(QString &input) const
이 가상 함수는 Return 키를 누르거나 ` interpretText()`이 호출되었을 때 ` input `이 ` QValidator::Acceptable `로 유효한 값으로 검증되지 않은 경우 ` QAbstractSpinBox `에 의해 호출됩니다. 이 함수는 텍스트가 유효한 값이 되도록 변경하려고 시도합니다. 다양한 하위 클래스에서 재구현됩니다.
[override virtual protected] void QAbstractSpinBox::focusInEvent(QFocusEvent *event)
QWidget::focusInEvent(QFocusEvent *event)를 재구현합니다.
[override virtual protected] void QAbstractSpinBox::focusOutEvent(QFocusEvent *event)
QWidget::focusOutEvent(QFocusEvent *event)를 재구현합니다.
[override virtual protected] void QAbstractSpinBox::hideEvent(QHideEvent *event)
QWidget::hideEvent(QHideEvent *event)를 재구현합니다.
[virtual protected] void QAbstractSpinBox::initStyleOption(QStyleOptionSpinBox *option) const
option 를 QSpinBox 에 있는 값들로 초기화합니다. 이 메서드는 하위 클래스에서 QStyleOptionSpinBox 가 필요하지만, 모든 정보를 직접 입력하고 싶지 않을 때 유용합니다.
QStyleOption::initFrom()도 참조하십시오 .
[override virtual] QVariant QAbstractSpinBox::inputMethodQuery(Qt::InputMethodQuery query) const
QWidget::inputMethodQuery(const Qt::InputMethodQuery query)를 재구현합니다.
void QAbstractSpinBox::interpretText()
이 함수는 스핀 박스의 텍스트를 해석합니다. 마지막 해석 이후 값이 변경된 경우 신호를 발생시킵니다.
[override virtual protected] void QAbstractSpinBox::keyPressEvent(QKeyEvent *event)
QWidget::keyPressEvent(QKeyEvent *event)를 재구현합니다.
이 함수는 키보드 입력을 처리합니다.
특히 다음 키들이 처리됩니다:
| Enter/Return | 이렇게 하면 마지막으로 신호가 발송된 이후 값이 변경되지 않았더라도 텍스트를 재해석하여 신호를 발송합니다. |
| Up | 이 키가 눌리면 ` stepBy(1)`이 호출됩니다. |
| 아래쪽 | stepBy(-1)을 호출합니다. |
| 페이지 위로 | 이 경우 stepBy(10)이 호출됩니다. |
| 페이지 아래 | 이 명령을 실행하면 stepBy(-10)이 호출됩니다 |
stepBy()도 참조하십시오 .
[override virtual protected] void QAbstractSpinBox::keyReleaseEvent(QKeyEvent *event)
QWidget::keyReleaseEvent(QKeyEvent *event)를 재구현합니다.
[protected] QLineEdit *QAbstractSpinBox::lineEdit() const
이 함수는 스핀 박스의 라인 에디트에 대한 포인터를 반환합니다.
setLineEdit()함수도 참조하십시오 .
[override virtual] QSize QAbstractSpinBox::minimumSizeHint() const
QWidget::minimumSizeHint 속성에 대한 액세스 함수를 재구현합니다.
[override virtual protected] void QAbstractSpinBox::mouseMoveEvent(QMouseEvent *event)
QWidget::mouseMoveEvent(QMouseEvent *event)를 재구현합니다.
[override virtual protected] void QAbstractSpinBox::mousePressEvent(QMouseEvent *event)
QWidget::mousePressEvent(QMouseEvent *event)를 재구현합니다.
[override virtual protected] void QAbstractSpinBox::mouseReleaseEvent(QMouseEvent *event)
QWidget::mouseReleaseEvent(QMouseEvent *event)를 재구현합니다.
[override virtual protected] void QAbstractSpinBox::paintEvent(QPaintEvent *event)
QWidget::paintEvent(QPaintEvent *event)를 재구현합니다.
[override virtual protected] void QAbstractSpinBox::resizeEvent(QResizeEvent *event)
QWidget::resizeEvent(QResizeEvent *event)를 재구현합니다.
[signal, since 6.10] void QAbstractSpinBox::returnPressed()
이 신호는 Return 키나 Enter 키를 누를 때 발생합니다.
이 기능은 Qt 6.10부터 도입되었습니다.
[slot] void QAbstractSpinBox::selectAll()
접두사와 접미사를 제외한 스핀박스 내의 모든 텍스트를 선택합니다.
[protected] void QAbstractSpinBox::setLineEdit(QLineEdit *lineEdit)
스핀박스의 라인 편집 위젯을 현재의 라인 편집 위젯 대신 lineEdit 로 설정합니다. lineEdit 는 nullptr 일 수 없습니다.
QAbstractSpinBox 새 객체의 소유권을 가져옵니다. lineEdit
lineEdit 에 대한 QLineEdit::validator()가 nullptr 을 반환하면, 스핀박스의 내부 유효성 검사기가 라인 편집기에 설정됩니다.
lineEdit()도 참조하십시오 .
[override virtual protected] void QAbstractSpinBox::showEvent(QShowEvent *event)
QWidget::showEvent(QShowEvent *event)를 재구현합니다.
[override virtual] QSize QAbstractSpinBox::sizeHint() const
QWidget::sizeHint 속성에 대한 액세스 함수를 재구현합니다.
[virtual] void QAbstractSpinBox::stepBy(int steps)
사용자가 걸음 수를 트리거할 때마다 호출되는 가상 함수입니다. ` steps ` 매개변수는 걸은 걸음 수를 나타냅니다. 예를 들어, ` Qt::Key_Down `를 누르면 ` stepBy(-1)`가 호출되고, ` Qt::Key_PageUp `를 누르면 ` stepBy(10)`가 호출됩니다.
QAbstractSpinBox 의 서브클래스를 구현하는 경우 이 함수를 재구현해야 합니다. 결과 값이 최소값과 최대값의 범위를 벗어날 경우에도 이 함수가 호출된다는 점에 유의하십시오. 이러한 상황을 처리하는 것은 이 함수의 역할입니다.
stepUp(), stepDown(), keyPressEvent()도 참조하십시오 .
[slot] void QAbstractSpinBox::stepDown()
한 줄만큼 아래로 이동합니다. 이 슬롯을 호출하는 것은 stepBy(-1)을 호출하는 것과 유사합니다.
[virtual protected] QAbstractSpinBox::StepEnabled QAbstractSpinBox::stepEnabled() const
주어진 시점에서 위·아래로 이동이 허용되는지 여부를 판단하는 가상 함수입니다.
(stepEnabled() & StepUpEnabled) != 0인 경우를 제외하고는 위쪽 화살표가 비활성화된 상태로 표시됩니다.
기본 구현은 래핑이 활성화된 경우 (StepUpEnabled| StepDownEnabled)를 반환합니다. 그렇지 않은 경우, 값이 minimum()보다 크면 StepDownEnabled 를 반환하고, 값이 maximum()보다 작으면 StepUpEnabled 와 논리 'OR' 연산을 수행한 결과를 반환합니다.
QAbstractSpinBox 의 서브클래스를 생성하는 경우 이 함수를 재구현해야 합니다.
QSpinBox::minimum(), QSpinBox::maximum(), wrapping()도 참조하십시오 .
[slot] void QAbstractSpinBox::stepUp()
줄 간격을 한 단계 늘립니다. 이 슬롯을 호출하는 것은 stepBy(1)을 호출하는 것과 유사합니다.
stepBy() 및 stepDown()도 참조하십시오 .
[override virtual protected] void QAbstractSpinBox::timerEvent(QTimerEvent *event)
QObject::timerEvent(QTimerEvent *event)를 재구현합니다.
[virtual] QValidator::State QAbstractSpinBox::validate(QString &input, int &pos) const
이 가상 함수는 ` QAbstractSpinBox `에 의해 호출되어 ` input `가 유효한지 여부를 판단합니다. ` pos ` 매개변수는 문자열 내의 위치를 나타냅니다. 다양한 하위 클래스에서 재구현됩니다.
[override virtual protected] void QAbstractSpinBox::wheelEvent(QWheelEvent *event)
QWidget::wheelEvent(QWheelEvent *event)를 재구현합니다.
© 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.