Класс QItemModelScatterDataProxy
Прокси-класс для представления данных в моделях элементов с помощью Q3DScatter. Подробнее...
| Заголовок: | #include <QItemModelScatterDataProxy> |
| С версии: | QtDataVisualization 1.0 |
| Создаётся: | ItemModelScatterDataProxy |
| Наследуется от: | QScatterDataProxy |
Свойства
|
|
Открытые функции
| 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