Spec-Zone.ru › Qt

Класс 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.2/qitemmodelscatterdataproxy.html

Spec-Zone.ru

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