- 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
的获取器。