TableModelColumn QML Type
Represents a column in a model. More...
Import Statement: | import Qt.labs.qmlmodels |
Detailed Description
The TableModelColumn class represents columns in TableModel. TableModel supports JavaScript/JSON data where each row is an object, a list of simple key-value pairs where the keys are unordered.
{ // Each property is one cell/column. checked: false, amount: 1, fruitType: "Apple", fruitName: "Granny Smith", fruitPrice: 1.50 }, // ...
However, models in Qt are manipulated via row and column indices. Specifying the columns with TableModelColumn allows a mapping between Qt's built-in roles to any property in each row object.
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 also has basic read-only support for complex rows. For more information, see Supported Row Data Structures.
Note: Most of the above concepts also apply to TreeModel, except in TreeModel each row represents a node of the tree.
Supported Roles
TableModelColumn supports all of Qt's roles, with the exception of Qt::InitialSortOrderRole
. Roles can be accessed by as listed below, e.g.
text: display required property string display
Qt::DisplayRole | display |
Qt::DecorationRole | decoration |
Qt::EditRole | edit |
Qt::ToolTipRole | toolTip |
Qt::StatusTipRole | statusTip |
Qt::WhatsThisRole | whatsThis |
Qt::FontRole | font |
Qt::TextAlignmentRole | textAlignment |
Qt::BackgroundRole | background |
Qt::ForegroundRole | foreground |
Qt::CheckStateRole | checkState |
Qt::AccessibleTextRole | accessibleText |
Qt::AccessibleDescriptionRole | accessibleDescription |
Qt::SizeHintRole | sizeHintRoleNam |
See also TableModel and TableView.