Spec-Zone.ru › Qt 6.1

Класс QItemModelScatterDataProxy

Прокси-класс для представления данных в моделях элементов с Q3DScatter. Подробнее...

Заголовок: #include <QItemModelScatterDataProxy>
С момента версии: QtDataVisualization 1.0
Создаётся: ItemModelScatterDataProxy
Наследует: QScatterDataProxy
  • Список всех членов, включая унаследованные

Свойства

  • itemModel : QAbstractItemModel*
  • rotationRole : QString
  • rotationRolePattern : QRegularExpression
  • rotationRoleReplace : QString
  • xPosRole : QString
  • xPosRolePattern : QRegularExpression
  • xPosRoleReplace : QString
  • yPosRole : QString
  • yPosRolePattern : QRegularExpression
  • yPosRoleReplace : QString
  • zPosRole : QString
  • zPosRolePattern : QRegularExpression
  • zPosRoleReplace : QString

Открытые функции

QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, QObject *parent = nullptr)
QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)
QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)
QItemModelScatterDataProxy(QObject *parent = nullptr)
virtual ~QItemModelScatterDataProxy()
QAbstractItemModel * itemModel() const
void remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole)
QString rotationRole() const
QRegularExpression rotationRolePattern() const
QString rotationRoleReplace() const
void setItemModel(QAbstractItemModel *itemModel)
void setRotationRole(const QString &role)
void setRotationRolePattern(const QRegularExpression &pattern)
void setRotationRoleReplace(const QString &replace)
void setXPosRole(const QString &role)
void setXPosRolePattern(const QRegularExpression &pattern)
void setXPosRoleReplace(const QString &replace)
void setYPosRole(const QString &role)
void setYPosRolePattern(const QRegularExpression &pattern)
void setYPosRoleReplace(const QString &replace)
void setZPosRole(const QString &role)
void setZPosRolePattern(const QRegularExpression &pattern)
void setZPosRoleReplace(const QString &replace)
QString xPosRole() const
QRegularExpression xPosRolePattern() const
QString xPosRoleReplace() const
QString yPosRole() const
QRegularExpression yPosRolePattern() const
QString yPosRoleReplace() const
QString zPosRole() const
QRegularExpression zPosRolePattern() const
QString zPosRoleReplace() const

Сигналы

void itemModelChanged(const QAbstractItemModel *itemModel)
void rotationRoleChanged(const QString &role)
void rotationRolePatternChanged(const QRegularExpression &pattern)
void rotationRoleReplaceChanged(const QString &replace)
void xPosRoleChanged(const QString &role)
void xPosRolePatternChanged(const QRegularExpression &pattern)
void xPosRoleReplaceChanged(const QString &replace)
void yPosRoleChanged(const QString &role)
void yPosRolePatternChanged(const QRegularExpression &pattern)
void yPosRoleReplaceChanged(const QString &replace)
void zPosRoleChanged(const QString &role)
void zPosRolePatternChanged(const QRegularExpression &pattern)
void zPosRoleReplaceChanged(const QString &replace)

Подробное описание

QItemModelScatterDataProxy позволяет использовать модели, производные от QAbstractItemModel, в качестве источника данных для Q3DScatter. Он сопоставляет роли QAbstractItemModel с значениями XYZ точек Q3DScatter.

Данные разрешаются асинхронно всякий раз, когда изменяется отображение или модель. QScatterDataProxy::arrayReset() генерируется, когда данные были обработаны. Однако вставки, удаления и изменения отдельных элементов данных после инициализации модели разрешаются синхронно, если в тот же кадр не попадает изменение, вызывающее пересчёт всей модели.

Отображение игнорирует строки и столбцы QAbstractItemModel и рассматривает все элементы одинаково. Оно требует, чтобы модель предоставляла роли для элементов данных, которые можно сопоставить со значениями X, Y и Z для точек разброса.

Например, предположим, что у вас есть настраиваемая модель QAbstractItemModel для хранения различных измерений, выполненных на образцах материалов, предоставляющая данные для ролей, таких как «плотность», «твёрдость» и «электропроводность». Вы можете визуализировать эти свойства на диаграмме разброса с помощью этого прокси:

// Map "density" value to X-axis, "hardness" to Y-axis and "conductivity" to Z-axis.
QItemModelScatterDataProxy *proxy = new QItemModelScatterDataProxy(customModel,
                                                                   QStringLiteral("density"),
                                                                   QStringLiteral("hardness"),
                                                                   QStringLiteral("conductivity"));

Если поля модели не содержат данные в нужном формате, вы можете указать выражение поиска с регулярными выражениями и правило замены для каждой роли, чтобы получить значение в нужном формате. Более подробную информацию о том, как работает замена с помощью регулярных выражений, можно найти в документации функции QString::replace(const QRegularExpression &rx, const QString &after). Обратите внимание, что использование регулярных выражений оказывает влияние на производительность, поэтому эффективнее использовать модели элементов, где поиск и замена не нужны для получения необходимых значений.

Пример использования шаблонов поиска в сочетании с ролями можно найти в использовании ItemModelBarDataProxy в примере Qt Quick 2 Bars Example.

См. также Qt Data Visualization Обработка данных.

Документация по свойствам

itemModel : QAbstractItemModel*

Это свойство содержит модель элементов, используемую в качестве источника данных для 3D диаграммы рассеяния.

Функции доступа:

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

Сигнал уведомления:

void itemModelChanged(const QAbstractItemModel *itemModel)

rotationRole : QString

Это свойство содержит роль модели элемента, которая сопоставляется с вращением элемента.

Модель может предоставлять значение для вращения в виде варианта, который напрямую преобразуется в QQuaternion, или в виде одного из строковых представлений: "scalar,x,y,z" или "@angle,x,y,z". Первый напрямую создаст кватернион с заданными значениями, а второй — создаст кватернион с помощью метода QQuaternion::fromAxisAndAngle().

Функции доступа:

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)

См. также rotationRole и rotationRoleReplace.

rotationRoleReplace : QString

Это свойство содержит содержимое для замены, которое используется вместе с шаблоном роли вращения.

По умолчанию — пустая строка. Для получения дополнительной информации о работе поиска и замены с использованием регулярных выражений см. документацию функции QString::replace(const QRegularExpression &rx, const QString &after).

Функции доступа:

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

Сигнал уведомления:

void rotationRoleReplaceChanged(const QString &replace)

См. также rotationRole и rotationRolePattern.

xPosRole : QString

Это свойство содержит роль модели элемента, которая сопоставляется с положением по оси X.

Функции доступа:

QString xPosRole() const
void setXPosRole(const QString &role)

Сигнал уведомления:

void xPosRoleChanged(const QString &role)

xPosRolePattern : QRegularExpression

Это свойство определяет, выполняется ли поиск и замена значения, сопоставленного с ролью положения по оси X, прежде чем оно будет использовано в качестве значения позиции элемента.

Это свойство задает регулярное выражение для поиска части сопоставленного значения для замены, а свойство xPosRoleReplace содержит строку замены.

Функции доступа:

QRegularExpression xPosRolePattern() const
void setXPosRolePattern(const QRegularExpression &pattern)

Сигнал уведомления:

void xPosRolePatternChanged(const QRegularExpression &pattern)

См. также xPosRole и xPosRoleReplace.

xPosRoleReplace : QString

Это свойство содержит содержимое для замены, которое используется вместе с шаблоном роли положения по оси X.

По умолчанию — пустая строка. Для получения дополнительной информации о работе поиска и замены с использованием регулярных выражений см. документацию функции QString::replace(const QRegularExpression &rx, const QString &after).

Функции доступа:

QString xPosRoleReplace() const
void setXPosRoleReplace(const QString &replace)

Сигнал уведомления:

void xPosRoleReplaceChanged(const QString &replace)

См. также xPosRole и xPosRolePattern.

yPosRole : QString

Это свойство содержит роль модели элемента, которая сопоставляется с положением по оси Y.

Функции доступа:

QString yPosRole() const
void setYPosRole(const QString &role)

Сигнал уведомления:

void yPosRoleChanged(const QString &role)

yPosRolePattern : QRegularExpression

Это свойство определяет, выполняется ли поиск и замена значения, сопоставленного с ролью положения по оси Y, прежде чем оно будет использовано в качестве значения позиции элемента.

Это свойство задает регулярное выражение для поиска части сопоставленного значения для замены, а свойство yPosRoleReplace содержит строку замены.

Функции доступа:

QRegularExpression yPosRolePattern() const
void setYPosRolePattern(const QRegularExpression &pattern)

Сигнал уведомления:

void yPosRolePatternChanged(const QRegularExpression &pattern)

См. также yPosRole и yPosRoleReplace.

yPosRoleReplace : QString

Это свойство содержит содержимое для замены, которое используется вместе с шаблоном роли положения по оси Y.

По умолчанию пустая строка. Для получения дополнительной информации о том, как работает поиск и замена с использованием регулярных выражений, см. документацию функции QString::replace(const QRegularExpression &rx, const QString &after).

Функции доступа:

QString yPosRoleReplace() const
void setYPosRoleReplace(const QString &replace)

Сигнал уведомления:

void yPosRoleReplaceChanged(const QString &replace)

См. также yPosRole и yPosRolePattern.

zPosRole : QString

Это свойство содержит роль модели элементов, которая отображается в положение Z.

Функции доступа:

QString zPosRole() const
void setZPosRole(const QString &role)

Сигнал уведомления:

void zPosRoleChanged(const QString &role)

zPosRolePattern : QRegularExpression

Это свойство определяет, выполняется ли поиск и замена на значении, сопоставленном с ролью z-положения, перед использованием его в качестве значения позиции элемента.

Это свойство задает регулярное выражение для поиска части сопоставленного значения для замены, а свойство zPosRoleReplace содержит строку замены.

Функции доступа:

QRegularExpression zPosRolePattern() const
void setZPosRolePattern(const QRegularExpression &pattern)

Сигнал уведомления:

void zPosRolePatternChanged(const QRegularExpression &pattern)

См. также zPosRole и zPosRoleReplace.

zPosRoleReplace : QString

Это свойство содержит содержимое замены, которое используется совместно с шаблоном роли z-положения.

По умолчанию пустая строка. Для получения дополнительной информации о том, как работает поиск и замена с использованием регулярных выражений, см. документацию функции QString::replace(const QRegularExpression &rx, const QString &after).

Функции доступа:

QString zPosRoleReplace() const
void setZPosRoleReplace(const QString &replace)

Сигнал уведомления:

void zPosRoleReplaceChanged(const QString &replace)

См. также zPosRole и zPosRolePattern.

Документация функций-членов

QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, QObject *parent = nullptr)

Создаёт QItemModelScatterDataProxy с itemModel и необязательным parent. Прокси не принимает владение itemModel, так как модели элементов обычно владеют другие элементы управления. Свойство xPosRole устанавливается в xPosRole, свойство yPosRole в yPosRole, свойство zPosRole в zPosRole, а свойство rotationRole в rotationRole.

QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)

Создаёт QItemModelScatterDataProxy с itemModel и необязательным parent. Прокси не принимает владение itemModel, так как модели элементов обычно владеют другие элементы управления. Свойство xPosRole устанавливается в xPosRole, свойство yPosRole в yPosRole, и свойство zPosRole в zPosRole.

QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)

Создаёт QItemModelScatterDataProxy с itemModel и необязательным parent. Прокси не принимает владение itemModel, так как модели элементов обычно владеют другие элементы управления.

QItemModelScatterDataProxy::QItemModelScatterDataProxy(QObject *parent = nullptr)

Создаёт QItemModelScatterDataProxy с необязательным parent.

[virtual] QItemModelScatterDataProxy::~QItemModelScatterDataProxy()

Удаляет QItemModelScatterDataProxy.

void QItemModelScatterDataProxy::remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole)

Изменяет сопоставления xPosRole, yPosRole, zPosRole и rotationRole.

void QItemModelScatterDataProxy::setItemModel(QAbstractItemModel *itemModel)

Устанавливает itemModel как модель элементов для Q3DScatter. Не принимает владение моделью, но подключается к ней, чтобы следить за изменениями.

Примечание: Функция-сеттер для свойства itemModel.

См. также itemModel().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qitemmodelscatterdataproxy.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API