Spec-Zone.ru › Qt 5.15

Класс QItemModelScatterDataProxy

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

Header: #include <QItemModelScatterDataProxy>
Since: QtDataVisualization 1.0
Instantiated By: ItemModelScatterDataProxy
Inherits: QScatterDataProxy

Этот класс был введен в QtDataVisualization 1.0.

  • Список всех членов, включая унаследованные члены

Свойства

  • itemModel : QAbstractItemModel*
  • rotationRole : QString
  • rotationRolePattern : QRegExp
  • rotationRoleReplace : QString
  • xPosRole : QString
  • xPosRolePattern : QRegExp
  • xPosRoleReplace : QString
  • yPosRole : QString
  • yPosRolePattern : QRegExp
  • yPosRoleReplace : QString
  • zPosRole : QString
  • zPosRolePattern : QRegExp
  • 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
QRegExp rotationRolePattern() const
QString rotationRoleReplace() const
void setItemModel(QAbstractItemModel *itemModel)
void setRotationRole(const QString &role)
void setRotationRolePattern(const QRegExp &pattern)
void setRotationRoleReplace(const QString &replace)
void setXPosRole(const QString &role)
void setXPosRolePattern(const QRegExp &pattern)
void setXPosRoleReplace(const QString &replace)
void setYPosRole(const QString &role)
void setYPosRolePattern(const QRegExp &pattern)
void setYPosRoleReplace(const QString &replace)
void setZPosRole(const QString &role)
void setZPosRolePattern(const QRegExp &pattern)
void setZPosRoleReplace(const QString &replace)
QString xPosRole() const
QRegExp xPosRolePattern() const
QString xPosRoleReplace() const
QString yPosRole() const
QRegExp yPosRolePattern() const
QString yPosRoleReplace() const
QString zPosRole() const
QRegExp zPosRolePattern() const
QString zPosRoleReplace() const

Сигналы

void itemModelChanged(const QAbstractItemModel *itemModel)
void rotationRoleChanged(const QString &role)
void rotationRolePatternChanged(const QRegExp &pattern)
void rotationRoleReplaceChanged(const QString &replace)
void xPosRoleChanged(const QString &role)
void xPosRolePatternChanged(const QRegExp &pattern)
void xPosRoleReplaceChanged(const QString &replace)
void yPosRoleChanged(const QString &role)
void yPosRolePatternChanged(const QRegExp &pattern)
void yPosRoleReplaceChanged(const QString &replace)
void zPosRoleChanged(const QString &role)
void zPosRolePatternChanged(const QRegExp &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 QRegExp &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 : QRegExp

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

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

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

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

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

void rotationRolePatternChanged(const QRegExp &pattern)

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

rotationRoleReplace : QString

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

По умолчанию используется пустая строка. Для получения дополнительной информации о том, как работает поиск и замена с использованием регулярных выражений, см. документацию функции QString::replace(const QRegExp &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 : QRegExp

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

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

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

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

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

void xPosRolePatternChanged(const QRegExp &pattern)

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

xPosRoleReplace : QString

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

По умолчанию используется пустая строка. Для получения дополнительной информации о том, как работает поиск и замена с использованием регулярных выражений, см. документацию функции QString::replace(const QRegExp &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 : QRegExp

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

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

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

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

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

void yPosRolePatternChanged(const QRegExp &pattern)

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

yPosRoleReplace : QString

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

По умолчанию используется пустая строка. Для получения дополнительной информации о том, как работает поиск и замена с использованием регулярных выражений, см. документацию функции QString::replace(const QRegExp &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 : QRegExp

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

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

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

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

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

void zPosRolePatternChanged(const QRegExp &pattern)

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

zPosRoleReplace : QString

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

По умолчанию — пустая строка. Дополнительную информацию о работе поиска и замены с использованием регулярных выражений см. в документации функции QString::replace(const QRegExp &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-5.15/qitemmodelscatterdataproxy.html

Spec-Zone.ru

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