VerticalHeaderView QML 类型
提供垂直头部视图,与 TableView 一起使用。 更多...
导入语句 | import QtQuick.Controls |
继承 |
属性
详细描述
VerticalHeaderView 提供了一个带样式的表格头部。它可以用作独立的视图或作为 TableView 的头部。
您可以通过将 VerticalHeaderView 分配给 TableView::syncView 属性来为 TableView 添加头部。在快速翻页时,头部和表格将会保持同步。
默认情况下,VerticalHeaderView 会显示 头部数据 来自 同步视图的 模型。如果您不想使用此模型,您可以指定不同的模型给 model 属性。如果您指定的是一个 QAbstractItemModel 的模型,它的头部数据将被使用。否则,将直接使用模型中的数据(例如,如果您指定的是一个简单的字符串数组模型)。
注意:为了显示 QAbstractItemModel 的头部数据,VerticalHeaderView 将在内部将模型头部数据包装在一个独立的代理模型中。此模型不与应用程序模型共享任何模型项。这意味着如果您调用如 index() 这样的函数,返回的模型索引将属于代理模型,而不是应用程序模型。
默认情况下,textRole 被设置为 "display"
,这意味着将使用来自模型的 Qt::DisplayRole 的数据。您可以将其设置为其他角色名称,以显示不同的数据。
应用程序负责将头部放置在场景的正确位置。您可以为单个 TableView 添加任意多个头部,这可能在您需要将头部放置在表格的四周时很有用。
下面的代码片段显示了如何向表格视图添加水平和垂直头部视图
import QtQuick import QtQuick.Controls import Qt.labs.qmlmodels ApplicationWindow { visible: true width: 640 height: 480 title: qsTr("HeaderView") Rectangle { anchors.fill: parent // The background color will show through the cell // spacing, and therefore become the grid line color. color: Qt.styleHints.appearance === Qt.Light ? palette.mid : palette.midlight HorizontalHeaderView { id: horizontalHeader anchors.left: tableView.left anchors.top: parent.top syncView: tableView clip: true } VerticalHeaderView { id: verticalHeader anchors.top: tableView.top anchors.left: parent.left syncView: tableView clip: true } TableView { id: tableView anchors.left: verticalHeader.right anchors.top: horizontalHeader.bottom anchors.right: parent.right anchors.bottom: parent.bottom clip: true columnSpacing: 1 rowSpacing: 1 model: TableModel { TableModelColumn { display: "name" } TableModelColumn { display: "color" } rows: [ { "name": "cat", "color": "black" }, { "name": "dog", "color": "brown" }, { "name": "bird", "color": "white" } ] } delegate: Rectangle { implicitWidth: 100 implicitHeight: 20 color: palette.base Label { text: display } } } }
VerticalHeaderView 默认将 resizableColumns 设置为 true
。
另请参阅 HorizontalHeaderView.
属性文档
model : QVariant |
该属性保存为垂直表头视图提供数据的模型。
如果未显式设置模型,当设置 syncView 时,表头将使用 syncView 的模型。
如果模型是 QAbstractTableModel,将访问其 verticalHeaderData()。
如果模型是除 QAbstractTableModel 之外的 QAbstractItemModel,将访问模型的 data()。
否则,行为与设置 TableView::model 相同。
另请参阅 TableView、model 和 QAbstractTableModel。
syncView : TableView |
textRole : QString |
该属性保存用于显示每个表头单元格中的文本的模型角色。
当模型有多个角色时,可以设置 textRole 以确定应显示哪个角色。
如果模型是 QAbstractItemModel,则默认为 "display";否则为空。
如果模型没有提供在 textRole 中指定的角色的警告,可以设置 textRole 确认警告。这样可以消除警告。
© 2024 Qt 公司。包含在此处的文档贡献的版权属于其各自的所有者。本提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款提供的。Qt 和相关徽标是芬兰的 Qt 公司以及世界上其他国家的商标。所有其他商标均为其各自所有者的财产。