En esta página

TableModelColumn QML Type

Representa una columna en un modelo. Más...

Import Statement: import Qt.labs.qmlmodels

Descripción detallada

La clase TableModelColumn representa columnas en TableModel. TableModel soporta datos JavaScript/JSON donde cada fila es un objeto, una lista de simples pares clave-valor donde las claves están desordenadas.

{
    // Each property is one cell/column.
    checked: false,
    amount: 1,
    fruitType: "Apple",
    fruitName: "Granny Smith",
    fruitPrice: 1.50
},
// ...

Sin embargo, los modelos en Qt se manipulan mediante índices de filas y columnas. Especificar las columnas con TableModelColumn permite un mapeo entre los roles incorporados de Qt a cualquier propiedad en cada objeto fila.

import QtQuick
import QtQuick.Window
import Qt.labs.qmlmodels

Window {
    width: 400
    height: 400
    visible: true

    TableView {
        anchors.fill: parent
        columnSpacing: 1
        rowSpacing: 1
        boundsBehavior: Flickable.StopAtBounds

        model: TableModel {
            TableModelColumn { display: "checked" }
            TableModelColumn { display: "amount" }
            TableModelColumn { display: "fruitType" }
            TableModelColumn { display: "fruitName" }
            TableModelColumn { display: "fruitPrice" }

            // Each row is one type of fruit that can be ordered
            rows: [
                {
                    // Each property is one cell/column.
                    checked: false,
                    amount: 1,
                    fruitType: "Apple",
                    fruitName: "Granny Smith",
                    fruitPrice: 1.50
                },
                {
                    checked: true,
                    amount: 4,
                    fruitType: "Orange",
                    fruitName: "Navel",
                    fruitPrice: 2.50
                },
                {
                    checked: false,
                    amount: 1,
                    fruitType: "Banana",
                    fruitName: "Cavendish",
                    fruitPrice: 3.50
                }
            ]
        }
        delegate:  TextInput {
            text: model.display
            padding: 12
            selectByMouse: true

            onAccepted: model.display = text

            Rectangle {
                anchors.fill: parent
                color: "#efefef"
                z: -1
            }
        }
    }
}

TableModelColumn también tiene soporte básico de sólo lectura para filas complejas. Para más información, véase Supported Row Data Structures.

Nota: La mayoría de los conceptos anteriores también se aplican a TreeModel, excepto que en TreeModel cada fila representa un nodo del árbol.

Roles soportados

TableModelColumn admite todos los roles de Qt's roles, a excepción de Qt::InitialSortOrderRole. Se puede acceder a los roles como se indica a continuación, por ejemplo

text: display

required property string display

Véase también TableModel y TableView.

© 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.