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