TableModelColumn QML Type
Représente une colonne dans un modèle. En savoir plus…
| Import Statement: | import Qt.labs.qmlmodels |
Description détaillée
La classe TableModelColumn représente les colonnes dans TableModel. TableModel prend en charge les données JavaScript/JSON où chaque ligne est un objet, une liste de paires clé-valeur simples dont les clés ne sont pas ordonnées.
{
// Each property is one cell/column.
checked: false,
amount: 1,
fruitType: "Apple",
fruitName: "Granny Smith",
fruitPrice: 1.50
},
// ...Cependant, dans Qt, les modèles sont manipulés via des indices de lignes et de colonnes. La spécification des colonnes avec TableModelColumn permet d'établir un mappage entre les rôles intégrés de Qt et n'importe quelle propriété de chaque objet de ligne.
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 offre également une prise en charge de base en lecture seule pour les lignes complexes. Pour plus d’informations, consultez Supported Row Data Structures.
Remarque : la plupart des concepts ci-dessus s’appliquent également à TreeModel, sauf que dans TreeModel, chaque ligne représente un nœud de l’arborescence.
Rôles pris en charge
TableModelColumn prend en charge tous les rôles de Qt's roles, à l’exception de Qt::InitialSortOrderRole. Les rôles sont accessibles comme indiqué ci-dessous, par exemple
text: display
required property string display| Qt::DisplayRole | display |
| Qt::DecorationRole | decoration |
| Qt::EditRole | edit |
| Qt::ToolTipRole | toolTip |
| Qt::StatusTipRole | statusTip |
| Qt::WhatsThisRole | qu'est-ce que c'est |
| Qt::FontRole | police |
| Qt::TextAlignmentRole | alignement du texte |
| Qt::BackgroundRole | arrière-plan |
| Qt::ForegroundRole | premier plan |
| Qt::CheckStateRole | état de sélection |
| Qt::AccessibleTextRole | texte accessible |
| Qt::AccessibleDescriptionRole | description accessible |
| Qt::SizeHintRole | indication de taille, nom du rôle |
Voir également TableModel et 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.