QItemModelScatterDataProxy Class
Clase proxy para presentar datos en modelos de elementos con Q3DScatterWidgetItem. Más...
| Cabecera: | #include <QItemModelScatterDataProxy> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Graphs)target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake: | QT += graphs |
| En QML: | ItemModelScatterDataProxy |
| Hereda: | QScatterDataProxy |
- Lista de todos los miembros, incluyendo los heredados
- QItemModelScatterDataProxy es parte de Qt Graphs C++ Classes for 3D.
Propiedades
|
|
Funciones públicas
| 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() override |
| QAbstractItemModel * | itemModel() const |
| void | remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole) |
| void | remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, const QString &scaleRole) |
| QString | rotationRole() const |
| QRegularExpression | rotationRolePattern() const |
| QString | rotationRoleReplace() const |
| QString | scaleRole() const |
| QRegularExpression | scaleRolePattern() const |
| QString | scaleRoleReplace() const |
| void | setItemModel(QAbstractItemModel *itemModel) |
| void | setRotationRole(const QString &role) |
| void | setRotationRolePattern(const QRegularExpression &pattern) |
| void | setRotationRoleReplace(const QString &replace) |
| void | setScaleRole(const QString &role) |
| void | setScaleRolePattern(const QRegularExpression &pattern) |
| void | setScaleRoleReplace(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 |
Señales
| void | itemModelChanged(const QAbstractItemModel *itemModel) |
| void | rotationRoleChanged(const QString &role) |
| void | rotationRolePatternChanged(const QRegularExpression &pattern) |
| void | rotationRoleReplaceChanged(const QString &replace) |
| void | scaleRoleChanged(const QString &role) |
| void | scaleRolePatternChanged(const QRegularExpression &pattern) |
| void | scaleRoleReplaceChanged(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) |
Descripción Detallada
QItemModelScatterDataProxy permite utilizar modelos derivados de QAbstractItemModel como fuente de datos para Q3DScatterWidgetItem. Mapea roles de QAbstractItemModel a los valores XYZ de los puntos de Q3DScatterWidgetItem.
Los datos se resuelven de forma asíncrona cada vez que cambia la asignación o el modelo. QScatterDataProxy::arrayReset() se emite cuando los datos se han resuelto. Sin embargo, las inserciones, eliminaciones y cambios de un único elemento de datos después de la inicialización del modelo se resuelven de forma sincrónica, a menos que el mismo marco también contenga un cambio que provoque la resolución de todo el modelo.
El mapeo ignora las filas y columnas de QAbstractItemModel y trata todos los elementos por igual. Requiere que el modelo proporcione roles para los ítems de datos que pueden ser mapeados a valores X, Y y Z para los puntos de dispersión.
Por ejemplo, suponga que tiene un QAbstractItemModel personalizado para almacenar varias mediciones realizadas en muestras de materiales, proporcionando datos para roles como "densidad", "dureza" y "conductividad". Podría visualizar estas propiedades en un gráfico de dispersión utilizando este proxy:
// 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"));
Si los campos del modelo no contienen los datos en el formato exacto que necesita, puede especificar una expresión regular de patrón de búsqueda y una regla de reemplazo para cada rol para obtener el valor en el formato que necesita. Para obtener más información sobre cómo funciona el reemplazo mediante expresiones regulares, consulte la documentación de la función QString::replace(const QRegularExpression &rx, const QString &after). Tenga en cuenta que el uso de expresiones regulares tiene un impacto en el rendimiento, por lo que es más eficiente utilizar modelos de elementos donde hacer búsqueda y reemplazo no es necesario para obtener los valores deseados.
Para ver un ejemplo sobre el uso de los patrones de búsqueda junto con las funciones, consulte ItemModelBarDataProxy usage in Simple Bar Graph.
Vea también Qt Graphs Manejo de Datos con 3D.
Documentación de Propiedades
itemModel : QAbstractItemModel*
Esta propiedad contiene el modelo de elemento que se utilizará como fuente de datos para una serie de dispersión 3D.
Funciones de acceso:
| QAbstractItemModel * | itemModel() const |
| void | setItemModel(QAbstractItemModel *itemModel) |
Señal del notificador:
| void | itemModelChanged(const QAbstractItemModel *itemModel) |
rotationRole : QString
Esta propiedad contiene el rol del modelo de elemento para asignarlo a la rotación del elemento.
El modelo puede proporcionar el valor para la rotación como una variante directamente convertible a QQuaternion o como una de las representaciones de cadena: "scalar,x,y,z" o "@angle,x,y,z". La primera construirá el cuaternión directamente con los valores dados, y la segunda construirá el cuaternión utilizando el método QQuaternion::fromAxisAndAngle().
Funciones de acceso:
| QString | rotationRole() const |
| void | setRotationRole(const QString &role) |
Señal del notificador:
| void | rotationRoleChanged(const QString &role) |
rotationRolePattern : QRegularExpression
Esta propiedad mantiene si se realiza una búsqueda y reemplazo en el valor mapeado por el rol de rotación antes de ser utilizado como rotación del ítem.
Esta propiedad especifica la expresión regular para encontrar la porción del valor mapeado a reemplazar y la propiedad rotationRoleReplace contiene la cadena de reemplazo.
Funciones de acceso:
| QRegularExpression | rotationRolePattern() const |
| void | setRotationRolePattern(const QRegularExpression &pattern) |
Señal de notificador:
| void | rotationRolePatternChanged(const QRegularExpression &pattern) |
Véase también rotationRole y rotationRoleReplace.
rotationRoleReplace : QString
Esta propiedad contiene el contenido de reemplazo que se utilizará junto con el patrón de rol de rotación.
Por defecto es una cadena vacía. Para más información sobre cómo funciona la búsqueda y sustitución mediante expresiones regulares, consulte la documentación de la función QString::replace(const QRegularExpression &rx, const QString &after).
Funciones de acceso:
| QString | rotationRoleReplace() const |
| void | setRotationRoleReplace(const QString &replace) |
Señal de notificador:
| void | rotationRoleReplaceChanged(const QString &replace) |
Véase también rotationRole y rotationRolePattern.
scaleRole : QString
Esta propiedad contiene el rol del modelo de ítem a mapear en la escala del ítem.
El modelo puede proporcionar el valor de escala como una variante que es "x,y,z". La primera construirá el vector3d directamente con los valores dados.
Funciones de acceso:
| QString | scaleRole() const |
| void | setScaleRole(const QString &role) |
Señal de notificador:
| void | scaleRoleChanged(const QString &role) |
scaleRolePattern : QRegularExpression
Esta propiedad indica si se realiza una búsqueda y reemplazo en el valor asignado por el rol de escala antes de que sea utilizado como escala del ítem.
Esta propiedad especifica la expresión regular para encontrar la porción del valor mapeado a reemplazar y la propiedad scaleRoleReplace contiene la cadena de reemplazo.
Funciones de acceso:
| QRegularExpression | scaleRolePattern() const |
| void | setScaleRolePattern(const QRegularExpression &pattern) |
Señal de notificador:
| void | scaleRolePatternChanged(const QRegularExpression &pattern) |
Véase también scaleRole y scaleRoleReplace.
scaleRoleReplace : QString
Esta propiedad contiene el contenido de reemplazo que se utilizará junto con el patrón de rol de escala.
Por defecto es una cadena vacía. Para más información sobre cómo funciona la búsqueda y sustitución mediante expresiones regulares, consulte la documentación de la función QString::replace(const QRegularExpression &rx, const QString &after).
Funciones de acceso:
| QString | scaleRoleReplace() const |
| void | setScaleRoleReplace(const QString &replace) |
Señal de notificador:
| void | scaleRoleReplaceChanged(const QString &replace) |
Véase también scaleRole y scaleRolePattern.
xPosRole : QString
Esta propiedad contiene el rol del modelo de ítem a mapear en la posición X.
Funciones de acceso:
| QString | xPosRole() const |
| void | setXPosRole(const QString &role) |
Señal del notificador:
| void | xPosRoleChanged(const QString &role) |
xPosRolePattern : QRegularExpression
Esta propiedad indica si se realiza una búsqueda y reemplazo en el valor asignado por el rol de posición x antes de utilizarlo como valor de posición del ítem.
Esta propiedad especifica la expresión regular para encontrar la porción del valor mapeado a reemplazar y la propiedad xPosRoleReplace contiene la cadena de reemplazo.
Funciones de acceso:
| QRegularExpression | xPosRolePattern() const |
| void | setXPosRolePattern(const QRegularExpression &pattern) |
Señal de notificador:
| void | xPosRolePatternChanged(const QRegularExpression &pattern) |
Véase también xPosRole y xPosRoleReplace.
xPosRoleReplace : QString
Esta propiedad contiene el contenido de reemplazo que se utilizará junto con el patrón de rol de posición x.
Por defecto es una cadena vacía. Para más información sobre cómo funciona la búsqueda y sustitución mediante expresiones regulares, consulte la documentación de la función QString::replace(const QRegularExpression &rx, const QString &after).
Funciones de acceso:
| QString | xPosRoleReplace() const |
| void | setXPosRoleReplace(const QString &replace) |
Señal de notificador:
| void | xPosRoleReplaceChanged(const QString &replace) |
Véase también xPosRole y xPosRolePattern.
yPosRole : QString
Esta propiedad contiene el rol del modelo de ítem a mapear en la posición Y.
Funciones de acceso:
| QString | yPosRole() const |
| void | setYPosRole(const QString &role) |
Señal del notificador:
| void | yPosRoleChanged(const QString &role) |
yPosRolePattern : QRegularExpression
Esta propiedad indica si se realiza una búsqueda y reemplazo en el valor asignado por el rol de posición y antes de utilizarlo como valor de posición de ítem.
Esta propiedad especifica la expresión regular para encontrar la porción del valor mapeado a reemplazar y la propiedad yPosRoleReplace contiene la cadena de reemplazo.
Funciones de acceso:
| QRegularExpression | yPosRolePattern() const |
| void | setYPosRolePattern(const QRegularExpression &pattern) |
Señal de notificador:
| void | yPosRolePatternChanged(const QRegularExpression &pattern) |
Véase también yPosRole y yPosRoleReplace.
yPosRoleReplace : QString
Esta propiedad contiene el contenido de reemplazo que se utilizará junto con el patrón de rol de posición y.
Por defecto es una cadena vacía. Para más información sobre cómo funciona la búsqueda y sustitución mediante expresiones regulares, consulte la documentación de la función QString::replace(const QRegularExpression &rx, const QString &after).
Funciones de acceso:
| QString | yPosRoleReplace() const |
| void | setYPosRoleReplace(const QString &replace) |
Señal de notificador:
| void | yPosRoleReplaceChanged(const QString &replace) |
Véase también yPosRole y yPosRolePattern.
zPosRole : QString
Esta propiedad contiene el rol del modelo de ítem a mapear en la posición Z.
Funciones de acceso:
| QString | zPosRole() const |
| void | setZPosRole(const QString &role) |
Señal del notificador:
| void | zPosRoleChanged(const QString &role) |
zPosRolePattern : QRegularExpression
Esta propiedad indica si se realiza una búsqueda y reemplazo en el valor mapeado por el rol de posición z antes de ser utilizado como valor de posición de ítem.
Esta propiedad especifica la expresión regular para encontrar la porción del valor mapeado a reemplazar y la propiedad zPosRoleReplace contiene la cadena de reemplazo.
Funciones de acceso:
| QRegularExpression | zPosRolePattern() const |
| void | setZPosRolePattern(const QRegularExpression &pattern) |
Señal de notificador:
| void | zPosRolePatternChanged(const QRegularExpression &pattern) |
Véase también zPosRole y zPosRoleReplace.
zPosRoleReplace : QString
Esta propiedad contiene el contenido de reemplazo que se utilizará junto con el patrón de rol de posición z.
Por defecto es una cadena vacía. Para más información sobre cómo funciona la búsqueda y sustitución mediante expresiones regulares, consulte la documentación de la función QString::replace(const QRegularExpression &rx, const QString &after).
Funciones de acceso:
| QString | zPosRoleReplace() const |
| void | setZPosRoleReplace(const QString &replace) |
Señal de notificador:
| void | zPosRoleReplaceChanged(const QString &replace) |
Véase también zPosRole y zPosRolePattern.
Documentación de las funciones miembro
[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QObject *parent = nullptr)
Construye QItemModelScatterDataProxy con parent opcional .
[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)
Construye QItemModelScatterDataProxy con itemModel y un parent opcional. El proxy no se apropia de itemModel, ya que normalmente los modelos de elementos son propiedad de otros controles.
[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)
Construye QItemModelScatterDataProxy con itemModel y un parent opcional. El proxy no toma la propiedad itemModel, ya que los modelos de elementos suelen ser propiedad de otros controles. La propiedad xPosRole se establece en xPosRole, la propiedad yPosRole en yPosRole, y la propiedad zPosRole en zPosRole.
[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, QObject *parent = nullptr)
Construye QItemModelScatterDataProxy con itemModel y un parent opcional. El proxy no toma la propiedad itemModel, ya que los modelos de elementos suelen ser propiedad de otros controles. La propiedad xPosRole se establece en xPosRole, la propiedad yPosRole en yPosRole, la propiedad zPosRole en zPosRole, y la propiedad rotationRole en rotationRole.
[override virtual noexcept] QItemModelScatterDataProxy::~QItemModelScatterDataProxy()
Destruye QItemModelScatterDataProxy.
void QItemModelScatterDataProxy::remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole)
Cambia el mapeado de xPosRole, yPosRole, zPosRole, y rotationRole.
void QItemModelScatterDataProxy::remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, const QString &scaleRole)
Cambia el mapeado de xPosRole, yPosRole, zPosRole, rotationRole, y scaleRole.
void QItemModelScatterDataProxy::setItemModel(QAbstractItemModel *itemModel)
Establece itemModel como modelo de artículo para Q3DScatterWidgetItem. No se apropia del modelo, pero se conecta a él para escuchar los cambios.
Nota: Función Setter para la propiedad itemModel.
Véase también itemModel().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.