- class QTableView#
QTableView类提供了一个表格视图的默认模型/视图实现。更多信息...继承自:
QTableWidget简介#
属性#
cornerButtonEnabled- 左上角的按钮是否启用gridStyle- 绘制网格时使用的笔样式showGrid- 是否显示网格sortingEnabled- 是否启用排序wordWrap- 项目文本换行策略
方法#
def
__init__()def
clearSpans()定义
columnAt()定义
columnSpan()定义
gridStyle()定义
rowAt()定义
rowHeight()定义
rowSpan()定义
setSpan()定义
showGrid()定义
wordWrap()
槽(Slots)#
定义
hideColumn()定义
hideRow()定义
rowMoved()定义
rowResized()定义
selectRow()定义
showColumn()定义
showRow()
注意
这份文档可能包含从C++自动翻译到Python的片段。我们始终欢迎对片段进行翻译的贡献。如果您发现翻译存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式来告知我们。
详细描述#
QTableView实现了一个表格视图,用于显示来自模型的项目。此类用于提供以前由 QTable 类提供的标准表格,但使用 Qt 的模型/视图架构提供的更灵活的方法。QTableView类是 模型/视图类 之一,是 Qt 的 模型/视图框架 的一部分。QTableView实现了由QAbstractItemView类定义的接口,允许它显示由 QAbstractItemModel 类的派生模型提供的数据。视觉外观#
表格具有一个垂直标题,可以通过调用
verticalHeader()函数来获取,并且有一个水平标题,可以通过horizontalHeader()函数来访问。表格中每一行的长度可以通过使用rowHeight()来查找;同样,通过columnWidth()可以查找列的宽度。由于这两个都是普通的小部件,您可以通过它们的hide()函数之一来隐藏任何一个。每个标题都配置了其highlightSections和sectionsClickable属性设置为true。可以使用
hideRow()、hideColumn()、showRow()和showColumn()来隐藏和显示行和列。可以使用selectRow()和selectColumn()选择它们。根据showGrid属性,表格将显示网格。表格视图中显示的项,如其他项视图中的项,使用标准的
代理进行渲染和编辑。然而,对于某些任务,在表格中插入小部件有时可能很有用。使用setIndexWidget()函数为特定索引设置小部件,稍后可以使用indexWidget()函数检索它们。
默认情况下,表格中的单元格不会膨胀以填充可用空间。
您可以通过拉伸最后一个标题部分来使单元格填充可用空间。使用
horizontalHeader()或verticalHeader()获取相关标题,并将标题的stretchLastSection属性设置为真。为了根据每一列或每一行的空间需求分配可用空间,调用视图的
resizeColumnsToContents()或resizeRowsToContents()函数。坐标系统#
对于某些特殊形式的表格,能够在行和列索引之间以及小部件坐标之间进行转换是很实用的。函数
rowAt()提供了指定行的视图内部的 y 坐标;使用rowViewportPosition()可以通过行索引获取相应的 y 坐标。函数columnAt()和columnViewportPosition()提供了将 x 坐标和列索引之间进行转换的等效操作。参见
QTableWidget视图类QAbstractItemView表格模型示例注意
当使用
from __feature__ import true_property时,可以直接使用属性,否则通过访问函数使用。- property cornerButtonEnabledᅟ: bool#
该属性表示左上角按钮是否启用。
如果此属性为
true,则视图左上角的按钮启用。单击此按钮将选择视图中的所有单元格。默认情况下,该属性为
true。- 属性 gridStyle: Qt.PenStyle#
此属性存储用于绘制网格的笔样式。
此属性存储绘制网格时使用的样式(参见
showGrid)。- 属性 showGrid: bool#
此属性存储是否显示网格。
如果此属性为
true,则在表中绘制网格;如果属性为false,则不绘制网格。默认值为true。- 访问函数
- 属性 sortingEnabled: bool#
此属性存储是否启用排序。
如果此属性为
true,则对表进行排序。如果此属性为false,则不启用排序。默认值为false。- 属性 wordWrap: bool#
此属性存储项目文本自动换行策略。
如果此属性为
true,则项目文本将在必要时在单词断开处自动换行;否则不会自动换行。默认值是true。请注意,即使在启用换行的情况下,单元格也不会扩展以适应所有文本。将根据当前的
textElideMode插入省略号。- 访问函数
构建一个带有
parent的表视图,以表示数据。- clearSpans()#
删除表格视图中所有的行和列跨。
参见
- columnAt(x)#
- 参数:
x – int
- 返回类型:
int
返回给定坐标
x所在的列,该坐标基于内容坐标。- columnCountChanged(oldCount, newCount)#
- 参数:
oldCount – int
newCount – int
每当有列被添加或删除时,都会调用此槽。前一个列数由
oldCount指定,新列数由newCount指定。- columnMoved(column, oldIndex, newIndex)#
- 参数:
column – int
oldIndex – int
newIndex – int
调用此槽以更改给定
column在表格视图中的索引。旧的索引由oldIndex指定,新的索引由newIndex指定。参见
- columnResized(column, oldWidth, newWidth)#
- 参数:
column – int
oldWidth – int
newWidth – int
调用此槽以更改给定
column的宽度。旧的宽度由oldWidth指定,新的宽度由newWidth指定。参见
- columnSpan(row, column)#
- 参数:
row – int
column – int
- 返回类型:
int
返回位于 (
row,column) 的表格元素的列跨。默认为 1。- columnViewportPosition(column)#
- 参数:
column – int
- 返回类型:
int
返回给定
column的内容坐标中的 x 坐标。- columnWidth(column)#
- 参数:
column – int
- 返回类型:
int
返回给定
column的宽度。属性
gridStyle的获取器。- hideColumn(column)#
- 参数:
column – int
隐藏给定的
column。- hideRow(row)#
- 参数:
row – int
隐藏给定的
row。- horizontalHeader()#
- 返回类型:
返回表格视图的水平表头。
- isColumnHidden(column)#
- 参数:
column – int
- 返回类型:
bool
如果给定的
column被隐藏,则返回true;否则返回false。- isCornerButtonEnabled()#
- 返回类型:
bool
属性
cornerButtonEnabled的获取器。- isRowHidden(row)#
- 参数:
row – int
- 返回类型:
bool
如果给定的
row被隐藏,则返回true;否则返回false。- isSortingEnabled()#
- 返回类型:
bool
属性
sortingEnabled的获取器。- resizeColumnToContents(column)#
- 参数:
column – int
根据用于渲染列中每个项的代理的大小提示调整给定
column的大小。注意
只有可见的列将被调整大小。要调整隐藏列的大小,重新实现
sizeHintForColumn()。参见
resizeColumnsToContents()sizeHintForColumn()resizeContentsPrecision()- resizeColumnsToContents()#
根据用于渲染列中每个项的代理的大小提示调整所有列的大小。
参见
resizeColumnToContents()sizeHintForColumn()resizeContentsPrecision()- resizeRowToContents(row)#
- 参数:
row – int
根据用于渲染行中每个项的代理的大小提示调整给定
row的大小。参见
resizeRowsToContents()sizeHintForRow()resizeContentsPrecision()- resizeRowsToContents()#
根据用于渲染行中每个项的代理的大小提示调整所有行的大小。
参见
resizeRowToContents()sizeHintForRow()resizeContentsPrecision()- rowAt(y)#
- 参数:
y – int
- 返回类型:
int
返回给定y坐标,在内容坐标中的行。
- rowCountChanged(oldCount, newCount)#
- 参数:
oldCount – int
newCount – int
每当添加或删除行时调用此槽。旧的行数由
oldCount指定,新的行数由newCount指定。- rowHeight(row)#
- 参数:
row – int
- 返回类型:
int
返回给定
row的高度。- rowMoved(row, oldIndex, newIndex)#
- 参数:
row – int
oldIndex – int
newIndex – int
在调用以更改表格视图中给定
row的索引时调用此槽。旧索引由oldIndex指定,新索引由newIndex指定。- rowResized(row, oldHeight, newHeight)#
- 参数:
row – int
oldHeight – int
newHeight – int
在调用以更改给定
row的高度时调用此槽。旧高度由oldHeight指定,新高度由newHeight指定。- rowSpan(row, column)#
- 参数:
row – int
column – int
- 返回类型:
int
返回指定(
row,column)表格元素的行跨。默认为1。- rowViewportPosition(row)#
- 参数:
row – int
- 返回类型:
int
返回给定
row的内容坐标的y坐标。- selectColumn(column)#
- 参数:
column – int
如果当前SelectionMode和SelectionBehavior允许选择列,则选择表格视图中的给定
column。参见
- selectRow(row)#
- 参数:
row – int
如果当前SelectionMode和SelectionBehavior允许选择行,则选择表格视图中的给定
row。- setColumnHidden(column, hide)#
- 参数:
column – int
**hide** – bool
如果
hide为 true,则将隐藏给定的column;否则,它将显示。- setColumnWidth(column, width)#
- 参数:
column – int
**width** – int
将给定的
column的宽度设置为width。- setCornerButtonEnabled(enable)#
- 参数:
**enable** – bool
设置属性
cornerButtonEnabled的值。属性
gridStyle的设置器。- setHorizontalHeader(header)#
- 参数:
header –
QHeaderView
将用于水平表头的控件设置为
header。- setRowHeight(row, height)#
- 参数:
row – int
height – int
将指定
row的高度设置为height。参见
- setRowHidden(row, hide)#
- 参数:
row – int
**hide** – bool
如果
hide为 true,则row会被隐藏,否则会被显示。- setShowGrid(show)#
- 参数:
show – bool
参见
属性
showGrid的设置器。- setSortingEnabled(enable)#
- 参数:
**enable** – bool
如果
enable为 true,则启用对表的排序,并立即触发对sortByColumn()的调用,使用当前排序部分和顺序属性
sortingEnabled的设置器。- setSpan(row, column, rowSpan, columnSpan)#
- 参数:
row – int
column – int
rowSpan – int
columnSpan – int
将位于(
row,column)的表格元素的跨距设置为(rowSpanCount,columnSpanCount)指定的行数和列数。- setVerticalHeader(header)#
- 参数:
header –
QHeaderView
将垂直头部的使用小部件设置为
header。- setWordWrap(on)#
- 参数:
on – bool
参见
属性
wordWrap的设置器。- showColumn(column)#
- 参数:
column – int
显示指定的
column。- showGrid()#
- 返回类型:
bool
属性
showGrid的获取器。- showRow(row)#
- 参数:
row – int
显示指定的
row。根据指定列的值和排序顺序进行模型的排序。
column可以为 -1,在这种情况下,不会显示排序指示器,模型将返回其自然顺序(未排序)。注意并非所有模型都支持此功能,并且在此情况下可能会崩溃。参见
sortingEnabled- verticalHeader()#
- 返回类型:
返回表格的垂直标题。
- wordWrap()#
- 返回类型:
bool
属性
wordWrap的获取器。