Класс QItemModelScatterDataProxy
Класс-прокси для представления данных в моделях элементов с Q3DScatter. Подробнее...
| Заголовок: | #include <QItemModelScatterDataProxy> |
| С момента: | QtDataVisualization 1.0 |
| Инициализируется: | ItemModelScatterDataProxy |
| Наследуется от: | QScatterDataProxy |
Свойства
|
|
- 2 свойства унаследованы от QScatterDataProxy
- 1 свойство унаследовано от QAbstractDataProxy
- 1 свойство унаследовано от QObject
Открытые функции
| QItemModelScatterDataProxy(QObject *parent = nullptr) | |
| QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr) | |
| QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr) | |
| QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, 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 |
- 12 открытых функций унаследованы от QScatterDataProxy
- 1 открытая функция унаследована от QAbstractDataProxy
- 34 открытых функции унаследованы от QObject
Сигналы
| 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) |
- 7 сигналов, унаследованных от QScatterDataProxy
- 2 сигнала, унаследованных от QObject
Дополнительные унаследованные члены
- 1 открытый слот, унаследованный от QObject
- 1 открытая переменная, унаследованная от QObject
- 10 статических открытых членов, унаследованных от QObject
- 9 защищенных функций, унаследованных от QObject
- 2 защищенные переменные, унаследованные от QObject
Подробное описание
Класс-прокси для представления данных в моделях элементов с Q3DScatter.
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 Data Handling.
Документация свойств
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(QObject *parent = nullptr)
Создаёт QItemModelScatterDataProxy с необязательным параметром parent.
QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)
Создаёт QItemModelScatterDataProxy с параметром itemModel и необязательным параметром parent. Прокси не получает владения itemModel, так как модели элементов обычно владеют другие элементы управления.
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, 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.
[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/archives/qt-5.11/qitemmodelscatterdataproxy.html