Класс QItemModelScatterDataProxy
Прокси-класс для представления данных в моделях элементов с Q3DScatter. Подробнее...
| Header: | #include <QItemModelScatterDataProxy> |
| Since: | QtDataVisualization 1.0 |
| Instantiated By: | ItemModelScatterDataProxy |
| Inherits: | QScatterDataProxy |
Этот класс был введен в QtDataVisualization 1.0.
Свойства
|
|
Открытые функции
| 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