QItemModelBarDataProxy Class

를 사용하여 항목 모델에 데이터를 표시하는 프록시 클래스 Q3DBarsWidgetItem. 더 보기...

헤더: #include <QItemModelBarDataProxy>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
QML에서: ItemModelBarDataProxy
상속합니다: QBarDataProxy

공용 유형

enum class MultiMatchBehavior { First, Last, Average, Cumulative }

속성

공공 기능

QItemModelBarDataProxy(QObject *parent = nullptr)
QItemModelBarDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)
QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &valueRole, QObject *parent = nullptr)
QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, QObject *parent = nullptr)
QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, const QString &rotationRole, QObject *parent = nullptr)
QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)
QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, const QString &rotationRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)
virtual ~QItemModelBarDataProxy() override
bool autoColumnCategories() const
bool autoRowCategories() const
QStringList columnCategories() const
qsizetype columnCategoryIndex(const QString &category)
QString columnRole() const
QRegularExpression columnRolePattern() const
QString columnRoleReplace() const
QAbstractItemModel *itemModel() const
QItemModelBarDataProxy::MultiMatchBehavior multiMatchBehavior() const
void remap(const QString &rowRole, const QString &columnRole, const QString &valueRole, const QString &rotationRole, const QStringList &rowCategories, const QStringList &columnCategories)
QString rotationRole() const
QRegularExpression rotationRolePattern() const
QString rotationRoleReplace() const
QStringList rowCategories() const
qsizetype rowCategoryIndex(const QString &category)
QString rowRole() const
QRegularExpression rowRolePattern() const
QString rowRoleReplace() const
void setAutoColumnCategories(bool enable)
void setAutoRowCategories(bool enable)
void setColumnCategories(const QStringList &categories)
void setColumnRole(const QString &role)
void setColumnRolePattern(const QRegularExpression &pattern)
void setColumnRoleReplace(const QString &replace)
void setItemModel(QAbstractItemModel *itemModel)
void setMultiMatchBehavior(QItemModelBarDataProxy::MultiMatchBehavior behavior)
void setRotationRole(const QString &role)
void setRotationRolePattern(const QRegularExpression &pattern)
void setRotationRoleReplace(const QString &replace)
void setRowCategories(const QStringList &categories)
void setRowRole(const QString &role)
void setRowRolePattern(const QRegularExpression &pattern)
void setRowRoleReplace(const QString &replace)
void setUseModelCategories(bool enable)
void setValueRole(const QString &role)
void setValueRolePattern(const QRegularExpression &pattern)
void setValueRoleReplace(const QString &replace)
bool useModelCategories() const
QString valueRole() const
QRegularExpression valueRolePattern() const
QString valueRoleReplace() const

신호

void autoColumnCategoriesChanged(bool enable)
void autoRowCategoriesChanged(bool enable)
void columnCategoriesChanged()
void columnRoleChanged(const QString &role)
void columnRolePatternChanged(const QRegularExpression &pattern)
void columnRoleReplaceChanged(const QString &replace)
void itemModelChanged(const QAbstractItemModel *itemModel)
void multiMatchBehaviorChanged(QItemModelBarDataProxy::MultiMatchBehavior behavior)
void rotationRoleChanged(const QString &role)
void rotationRolePatternChanged(const QRegularExpression &pattern)
void rotationRoleReplaceChanged(const QString &replace)
void rowCategoriesChanged()
void rowRoleChanged(const QString &role)
void rowRolePatternChanged(const QRegularExpression &pattern)
void rowRoleReplaceChanged(const QString &replace)
void useModelCategoriesChanged(bool enable)
void valueRoleChanged(const QString &role)
void valueRolePatternChanged(const QRegularExpression &pattern)
void valueRoleReplaceChanged(const QString &replace)

상세 설명

QItemModelBarDataProxy를 사용하면 QAbstractItemModel 파생 모델을 Q3DBarsWidgetItem 의 데이터 소스로 사용할 수 있습니다. 정의된 매핑을 사용하여 모델의 데이터를 Q3DBarsWidgetItem 그래프의 행, 열 및 값에 매핑합니다.

데이터는 매핑이나 모델이 변경될 때마다 비동기적으로 확인됩니다. QBarDataProxy::arrayReset()는 데이터가 해결될 때 발생합니다. 그러나 useModelCategories 속성을 true로 설정하면 동일한 프레임에 전체 모델을 확인해야 하는 변경 사항이 포함되지 않는 한 단일 항목 변경 사항이 동기적으로 확인됩니다.

매핑은 다음과 같은 방식으로 사용할 수 있습니다:

  • useModelCategories 속성이 true로 설정된 경우 이 프록시는 QAbstractItemModel 의 행과 열을 Q3DBarsWidgetItem 의 행과 열에 직접 매핑하고 기본적으로 Qt::DisplayRole 에 대해 반환된 값을 막대 값으로 사용합니다. Qt::DisplayRole 이 적합하지 않은 경우 사용할 값 역할을 재정의할 수 있습니다.
  • QAbstractListModel 기반 모델처럼 데이터가 이미 행과 열로 깔끔하게 정렬되지 않은 모델의 경우 모델에서 각 행, 열 및 값에 대해 매핑할 역할을 정의할 수 있습니다.
  • 모델에 포함된 모든 데이터를 포함하지 않으려 하거나 자동 생성된 행과 열이 원하는 대로 정렬되지 않은 경우에는 행과 열 중 하나 또는 둘 모두에 대한 명시적인 카테고리 목록을 정의하여 어떤 행과 열을 어떤 순서로 포함할지 지정할 수 있습니다.

예를 들어 비즈니스와 관련된 다양한 월별 값을 저장하기 위한 사용자 정의 QAbstractItemModel 가 있다고 가정해 보겠습니다. 모델의 각 항목에는 '연도', '월', '수입' 및 '지출' 역할이 있습니다. 데이터를 막대 그래프로 표시하려면 다음과 같이 할 수 있습니다:

// By defining row and column categories, you tell the mapping which row and column each item
// belongs to. The categories must match the data stored in the model in the roles you define
// for row and column mapping. In this example we expect "year" role to return four digit year
// and "month" to return three letter designation for the month.
//
// An example of an item in model would be:
// Requested role -> Returned data
// "year" -> "2016" // Matches the first row category, so this item is added to the first row.
// "month" -> "jan" // Matches the first column category, so this item is added as first item in the row.
// "income" -> "12.1"
// "expenses" -> "9.2"
QStringList years;
QStringList months;
years << "2016" << "2017" << "2018" << "2019" << "2020" << "2021" << "2022";
months << "jan" << "feb" << "mar" << "apr" << "may" << "jun" << "jul" << "aug" << "sep" << "oct" << "nov" << "dec";

QItemModelBarDataProxy *proxy = new QItemModelBarDataProxy(customModel,
                                                           QStringLiteral("year"), // Row role
                                                           QStringLiteral("month"), // Column role
                                                           QStringLiteral("income"), // Value role
                                                           years, // Row categories
                                                           months); // Column categories

//...

// To display different data later, you can simply change the mapping.
proxy->setValueRole(QStringLiteral("expenses"));

모델의 필드에 필요한 정확한 형식의 데이터가 포함되어 있지 않은 경우 각 역할에 대해 검색 패턴 정규식과 바꾸기 규칙을 지정하여 필요한 형식의 값을 가져올 수 있습니다. 정규식을 사용한 바꾸기의 작동 방식에 대한 자세한 내용은 QString::replace(const QRegularExpression &rx, const QString &after) 함수 설명서를 참조하세요. 정규식을 사용하면 성능에 영향을 미치므로 원하는 값을 얻기 위해 검색 및 바꾸기를 수행할 필요가 없는 항목 모델을 활용하는 것이 더 효율적이라는 점에 유의하세요.

검색 패턴을 역할과 함께 사용하는 방법에 대한 예는 간단한 막대 그래프를 참조하세요.

또한 Qt Graphs 3D로 데이터 처리하기를참조하세요 .

멤버 유형 문서

enum class QItemModelBarDataProxy::MultiMatchBehavior

QItemModelBarDataProxy::multiMatchBehavior 속성에 대한 동작 유형입니다.

Constant설명
QItemModelBarDataProxy::MultiMatchBehavior::First0항목 모델에서 각 행/열 조합과 일치하는 첫 번째 항목에서 값을 가져옵니다.
QItemModelBarDataProxy::MultiMatchBehavior::Last1각 행/열 조합과 일치하는 항목 모델의 마지막 항목에서 값을 가져옵니다.
QItemModelBarDataProxy::MultiMatchBehavior::Average2각 행/열 조합과 일치하는 모든 항목의 값은 함께 평균화되고 평균이 막대 값으로 사용됩니다.
QItemModelBarDataProxy::MultiMatchBehavior::Cumulative3각 행/열 조합과 일치하는 모든 항목의 값을 합산하여 합계를 막대 값으로 사용합니다.

속성 문서

autoColumnCategories : bool

이 속성은 열 범주를 자동으로 생성할지 여부를 보유합니다.

true 으로 설정하면 매핑은 명시적으로 설정된 열 범주를 무시하고 모델에서 데이터가 확인될 때마다 자동으로 생성된 열 범주로 덮어씁니다. 기본값은 true 입니다.

액세스 기능:

bool autoColumnCategories() const
void setAutoColumnCategories(bool enable)

알림 신호:

void autoColumnCategoriesChanged(bool enable)

autoRowCategories : bool

이 속성은 행 범주를 자동으로 생성할지 여부를 보유합니다.

true 으로 설정하면 매핑은 명시적으로 설정된 행 카테고리를 무시하고 모델에서 데이터가 확인될 때마다 자동으로 생성된 카테고리로 덮어씁니다. 기본값은 true 입니다.

액세스 기능:

bool autoRowCategories() const
void setAutoRowCategories(bool enable)

알림 신호:

void autoRowCategoriesChanged(bool enable)

columnCategories : QStringList

이 속성에는 매핑을 위한 열 카테고리가 저장됩니다.

액세스 함수:

QStringList columnCategories() const
void setColumnCategories(const QStringList &categories)

알림 신호:

void columnCategoriesChanged()

columnRole : QString

이 속성은 매핑에 대한 열 역할을 보유합니다.

액세스 함수:

QString columnRole() const
void setColumnRole(const QString &role)

알림 신호:

void columnRoleChanged(const QString &role)

columnRolePattern : QRegularExpression

이 속성은 열 범주로 사용되기 전에 열 역할별로 매핑된 값에 대해 검색 및 바꾸기를 수행할지 여부를 보유합니다.

이 속성은 매핑된 값에서 바꿀 부분을 찾기 위한 정규식을 지정하며 columnRoleReplace 속성은 바꾸기 문자열을 포함합니다. 이 속성은 항목 모델의 단일 타임스탬프 필드에서 행 및 열 카테고리를 구문 분석할 때 유용합니다.

함수에 액세스합니다:

QRegularExpression columnRolePattern() const
void setColumnRolePattern(const QRegularExpression &pattern)

알림 신호:

void columnRolePatternChanged(const QRegularExpression &pattern)

columnRolecolumnRoleReplace참조하세요 .

columnRoleReplace : QString

이 속성은 columnRolePattern 와 함께 사용할 대체 콘텐츠를 보유합니다.

기본값은 빈 문자열입니다. 정규식을 사용한 검색 및 바꾸기 작동 방식에 대한 자세한 내용은 QString::replace(const QRegularExpression &rx, const QString &after) 함수 설명서를 참조하세요.

액세스 함수

QString columnRoleReplace() const
void setColumnRoleReplace(const QString &replace)

알림 신호:

void columnRoleReplaceChanged(const QString &replace)

columnRolecolumnRolePattern참조하세요 .

itemModel : QAbstractItemModel*

이 속성은 아이템 모델을 보유합니다.

액세스 함수:

QAbstractItemModel *itemModel() const
void setItemModel(QAbstractItemModel *itemModel)

알림 신호:

void itemModelChanged(const QAbstractItemModel *itemModel)

multiMatchBehavior : QItemModelBarDataProxy::MultiMatchBehavior

각 행/열 조합에 대한 다중 일치를 처리하는 방식입니다.

기본값은 QItemModelBarDataProxy::MultiMatchBehavior::Last 입니다. 선택한 동작은 막대 값과 회전 모두에 영향을 줍니다.

예를 들어, 불규칙한 간격으로 타임스탬프가 찍힌 데이터가 있는 항목 모델이 있고 각 날짜의 데이터 항목의 총 값을 막대 그래프로 시각화하고자 할 수 있습니다. 각 막대가 하루를 나타내도록 행 및 열 범주를 지정하고 multiMatchBehavior를 QItemModelBarDataProxy::MultiMatchBehavior::Cumulative 로 설정하면 됩니다.

기능에 액세스합니다:

QItemModelBarDataProxy::MultiMatchBehavior multiMatchBehavior() const
void setMultiMatchBehavior(QItemModelBarDataProxy::MultiMatchBehavior behavior)

알림 신호:

void multiMatchBehaviorChanged(QItemModelBarDataProxy::MultiMatchBehavior behavior)

rotationRole : QString

이 속성은 매핑의 로테이션 역할을 담당합니다.

액세스 함수:

QString rotationRole() const
void setRotationRole(const QString &role)

알림 신호:

void rotationRoleChanged(const QString &role)

rotationRolePattern : QRegularExpression

이 속성은 회전 역할에 의해 매핑된 값이 막대 회전 각도로 사용되기 전에 검색 및 바꾸기가 수행되는지 여부를 보유합니다.

이 속성은 매핑된 값에서 바꿀 부분을 찾기 위한 정규식을 지정하며 rotationRoleReplace 속성은 바꾸기 문자열을 포함합니다.

함수에 액세스합니다:

QRegularExpression rotationRolePattern() const
void setRotationRolePattern(const QRegularExpression &pattern)

알림 신호:

void rotationRolePatternChanged(const QRegularExpression &pattern)

rotationRolerotationRoleReplace참조하세요 .

rotationRoleReplace : QString

이 속성은 rotationRolePattern 와 함께 사용할 대체 콘텐츠를 보유합니다.

기본값은 빈 문자열입니다. 정규식을 사용한 검색 및 바꾸기 작동 방식에 대한 자세한 내용은 QString::replace(const QRegularExpression &rx, const QString &after) 함수 설명서를 참조하세요.

액세스 함수

QString rotationRoleReplace() const
void setRotationRoleReplace(const QString &replace)

알림 신호:

void rotationRoleReplaceChanged(const QString &replace)

rotationRolerotationRolePattern참조하세요 .

rowCategories : QStringList

이 속성에는 매핑을 위한 행 카테고리가 저장됩니다.

액세스 함수:

QStringList rowCategories() const
void setRowCategories(const QStringList &categories)

알림 신호:

void rowCategoriesChanged()

rowRole : QString

이 속성은 매핑에 대한 행 역할을 보유합니다.

액세스 함수:

QString rowRole() const
void setRowRole(const QString &role)

알림 신호:

void rowRoleChanged(const QString &role)

rowRolePattern : QRegularExpression

이 속성은 행 역할별로 매핑된 값을 행 카테고리로 사용하기 전에 검색 및 바꾸기를 수행할지 여부를 보유합니다.

이 속성은 매핑된 값에서 바꿀 부분을 찾기 위한 정규식을 지정하며 rowRoleReplace 속성은 바꾸기 문자열을 포함합니다. 이 속성은 항목 모델의 단일 타임스탬프 필드에서 행 및 열 카테고리를 구문 분석할 때 유용합니다.

함수에 액세스합니다:

QRegularExpression rowRolePattern() const
void setRowRolePattern(const QRegularExpression &pattern)

알림 신호:

void rowRolePatternChanged(const QRegularExpression &pattern)

rowRolerowRoleReplace참조하세요 .

rowRoleReplace : QString

이 속성은 rowRolePattern 와 함께 사용할 대체 콘텐츠를 보유합니다.

기본값은 빈 문자열입니다. 정규식을 사용한 검색 및 바꾸기 작동 방식에 대한 자세한 내용은 QString::replace(const QRegularExpression &rx, const QString &after) 함수 설명서를 참조하세요.

액세스 함수

QString rowRoleReplace() const
void setRowRoleReplace(const QString &replace)

알림 신호:

void rowRoleReplaceChanged(const QString &replace)

rowRolerowRolePattern참조하세요 .

useModelCategories : bool

이 속성은 매핑에 행과 열 역할 및 카테고리를 사용할지 여부를 나타냅니다.

true 으로 설정하면 매핑에서 행 및 열 역할과 카테고리를 무시하고 대신 모델의 행과 열을 사용합니다. 기본값은 false 입니다.

액세스 기능:

bool useModelCategories() const
void setUseModelCategories(bool enable)

알림 신호:

void useModelCategoriesChanged(bool enable)

valueRole : QString

이 속성은 매핑에 대한 값 역할을 보유합니다.

액세스 함수:

QString valueRole() const
void setValueRole(const QString &role)

알림 신호:

void valueRoleChanged(const QString &role)

valueRolePattern : QRegularExpression

이 속성은 값 역할별로 매핑된 값이 막대 값으로 사용되기 전에 검색 및 바꾸기를 수행할지 여부를 보유합니다.

이 속성은 매핑된 값에서 바꿀 부분을 찾기 위한 정규식을 지정하며 valueRoleReplace 속성은 바꾸기 문자열을 포함합니다.

함수에 액세스합니다:

QRegularExpression valueRolePattern() const
void setValueRolePattern(const QRegularExpression &pattern)

알림 신호:

void valueRolePatternChanged(const QRegularExpression &pattern)

valueRolevalueRoleReplace참조하세요 .

valueRoleReplace : QString

이 속성은 valueRolePattern 와 함께 사용할 대체 콘텐츠를 보유합니다.

기본값은 빈 문자열입니다. 정규식을 사용한 검색 및 바꾸기 작동 방식에 대한 자세한 내용은 QString::replace(const QRegularExpression &rx, const QString &after) 함수 설명서를 참조하세요.

액세스 함수

QString valueRoleReplace() const
void setValueRoleReplace(const QString &replace)

알림 신호:

void valueRoleReplaceChanged(const QString &replace)

valueRolevalueRolePattern참조하세요 .

멤버 함수 문서

[explicit] QItemModelBarDataProxy::QItemModelBarDataProxy(QObject *parent = nullptr)

선택 사항인 parent 을 사용하여 QItemModelBarDataProxy 를 구축합니다.

[explicit] QItemModelBarDataProxy::QItemModelBarDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)

itemModel 와 선택 사항인 parent 으로 QItemModelBarDataProxy를 구성합니다. 일반적으로 항목 모델은 다른 컨트롤이 소유하므로 프록시는 itemModel 의 소유권을 갖지 않습니다.

[explicit] QItemModelBarDataProxy::QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &valueRole, QObject *parent = nullptr)

itemModel 와 선택 사항인 parent 으로 QItemModelBarDataProxy를 구성합니다. 일반적으로 항목 모델은 다른 컨트롤이 소유하므로 프록시는 itemModel 의 소유권을 갖지 않습니다. 값 역할은 valueRole 으로 설정됩니다. 이 생성자는 데이터가 이미 행과 열에 올바르게 정렬된 모델과 함께 사용하도록 되어 있으므로 useModelCategories 속성도 true로 설정합니다.

[explicit] QItemModelBarDataProxy::QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, QObject *parent = nullptr)

itemModel 와 선택 사항인 parent 으로 QItemModelBarDataProxy를 구성합니다. 일반적으로 항목 모델은 다른 컨트롤이 소유하므로 프록시는 itemModel 의 소유권을 갖지 않습니다. 역할 매핑은 rowRole, columnRole, valueRole 로 설정됩니다.

[explicit] QItemModelBarDataProxy::QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, const QString &rotationRole, QObject *parent = nullptr)

itemModel 와 선택 사항인 parent 으로 QItemModelBarDataProxy를 구성합니다. 일반적으로 항목 모델은 다른 컨트롤이 소유하므로 프록시는 itemModel 의 소유권을 갖지 않습니다. 역할 매핑은 rowRole, columnRole, valueRole, rotationRole 로 설정됩니다.

[explicit] QItemModelBarDataProxy::QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)

itemModel 와 선택 사항인 parent 으로 QItemModelBarDataProxy를 구성합니다. 일반적으로 항목 모델은 다른 컨트롤이 소유하므로 프록시는 itemModel 의 소유권을 갖지 않습니다. 역할 매핑은 rowRole, columnRole, valueRole 로 설정됩니다. 행 및 열 카테고리는 rowCategoriescolumnCategories 으로 설정됩니다. 이 생성자는 autoRowCategoriesautoColumnCategories 도 false로 설정합니다.

[explicit] QItemModelBarDataProxy::QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, const QString &rotationRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)

itemModel 와 선택 사항인 parent 으로 QItemModelBarDataProxy를 구성합니다. 일반적으로 항목 모델은 다른 컨트롤이 소유하므로 프록시는 itemModel 의 소유권을 갖지 않습니다. 역할 매핑은 rowRole, columnRole, valueRole, rotationRole 으로 설정됩니다. 행 및 열 카테고리는 rowCategoriescolumnCategories 으로 설정됩니다. 이 생성자는 autoRowCategoriesautoColumnCategories 도 false로 설정합니다.

[override virtual noexcept] QItemModelBarDataProxy::~QItemModelBarDataProxy()

QItemModelBarDataProxy 을 파괴합니다.

[invokable] qsizetype QItemModelBarDataProxy::columnCategoryIndex(const QString &category)

열 카테고리 목록에서 지정된 category 의 인덱스를 반환합니다. 카테고리를 찾을 수 없으면 -1이 반환됩니다.

참고: 자동 열 카테고리 생성을 사용 중인 경우 이 메서드는 모델의 데이터가 처음 확인되기 전에는 유효한 인덱스를 반환하지 않습니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

void QItemModelBarDataProxy::remap(const QString &rowRole, const QString &columnRole, const QString &valueRole, const QString &rotationRole, const QStringList &rowCategories, const QStringList &columnCategories)

rowRole, columnRole, valueRole, rotationRole, rowCategoriescolumnCategories 을 매핑으로 변경합니다.

[invokable] qsizetype QItemModelBarDataProxy::rowCategoryIndex(const QString &category)

행 카테고리 목록에서 지정된 category 의 인덱스를 반환합니다. 행 카테고리 목록이 비어 있으면 -1이 반환됩니다.

참고: 자동 행 카테고리 생성이 사용 중인 경우 이 메서드는 모델의 데이터가 처음 확인되기 전에는 유효한 인덱스를 반환하지 않습니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

void QItemModelBarDataProxy::setItemModel(QAbstractItemModel *itemModel)

항목 모델을 itemModel 로 설정합니다. 모델의 소유권을 가지지는 않지만 모델에 연결하여 변경 사항을 수신합니다.

참고: 속성에 대한 설정자 함수 itemModel.

itemModel()도 참조하세요 .

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