- class QTableWidget#
QTableWidget
类提供一个具有默认模型的基于元素表格视图。 更多信息...摘要#
属性#
columnCountᅟ
- 表格中的列数rowCountᅟ
- 表格中的行数
方法#
def
__init__()
def
cellWidget()
def
column()
def
columnCount()
def
currentColumn()
def
currentItem()
定义
currentRow()
定义
editItem()
定义
findItems()
定义
item()
定义
itemAt()
定义
items()
定义
row()
定义
rowCount()
定义
setItem()
定义
sortItems()
定义
takeItem()
定义
visualRow()
虚方法#
定义
mimeData()
定义
mimeTypes()
槽(Slots)#
定义
clear()
定义
insertRow()
定义
removeRow()
信号#
注意
这份文档可能包含了从C++自动翻译到Python的代码片段。我们一直欢迎对代码片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告诉我们。
详细描述#
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
表格小部件为应用程序提供标准表格显示功能。一个
QTableWidget
中的项由QTableWidgetItem
提供。如果您想使用自己的数据模型的表格,应使用
QTableView
而不是这个类。可以按所需的行数和列数构造表格小部件
tableWidget = QTableWidget(12, 3, self)
或者,可以构造一个没有指定大小的表格,并在之后调整大小
tableWidget = QTableWidget(self) tableWidget.setRowCount(10) tableWidget.setColumnCount(5)
项目是在表格外创建的(没有父小部件),并通过
setItem()
方法将其插入表格newItem = QTableWidgetItem(tr("%1").arg(() (row+1)*(column+1))) tableWidget.setItem(row, column, newItem)
如果您想在表格小部件中启用排序,请在填充了项之后进行,否则排序可能会干扰插入顺序(有关详细信息,请参阅
setItem()
)。表格可以同时设置为水平和垂直标题。创建标题的最简单方法是向
setHorizontalHeaderLabels()
和setVerticalHeaderLabels()
函数提供字符串列表。这将提供简单的文本标题作为表列和行的标题。可以从通常在表格外构建的现有表项创建更复杂的首部。例如,我们可以使用图标和对齐文本构建一个表项,并将其用作特定列的标题cubesHeaderItem = QTableWidgetItem(tr("Cubes")) cubesHeaderItem.setIcon(QIcon(QPixmap(":/Images/cubed.png"))) cubesHeaderItem.setTextAlignment(Qt.AlignVCenter)
可以使用
rowCount()
找到表格的行数,使用columnCount()
找到列数。可以使用clear()
函数清空表格。注意
当使用
from __feature__ import true_property
时,可以直接使用属性;否则,否则通过访问函数。- 属性columnCount: int#
此属性包含的值是表格中的列数。
默认情况下,对于没有行数和列数构造的表格,此属性包含0值。
- 属性rowCount: int#
此属性包含表格中的行数。
默认情况下,对于没有行数和列数构造的表格,此属性包含0值。
- 访问函数
使用指定的
rows
和columns
创建一个新的表格视图,并设置给定的parent
。- __init__([parent=None])
- 参数(Parameters):
parent –
QWidget
使用指定的
parent
创建一个新的表格视图。- cellActivated(row, column)#
- 参数(Parameters):
row – int
column – int
当指定的行列的单元格被激活时,发出此信号
row
和column
。- cellChanged(row, column)#
- 参数(Parameters):
row – int
column – int
当指定行列的单元格中的数据更改时,发出此信号。
- cellClicked(row, column)#
- 参数(Parameters):
row – int
column – int
当表格中的单元格被点击时,发出此信号。指定的
row
和column
是被点击的单元格。- cellDoubleClicked(row, column)#
- 参数(Parameters):
row – int
column – int
当表格中的单元格被双击时,发出此信号。指定的
row
和column
是被双击的单元格。- cellEntered(row, column)#
- 参数(Parameters):
row – int
column – int
当鼠标光标进入单元格时,发出此信号。单元格由
row
和column
确定。该信号仅在鼠标跟踪开启时发出,或者在鼠标移动到项目时按下鼠标按钮的情况下发出。
- cellPressed(行, 列)#
- 参数(Parameters):
row – int
column – int
每当在表格中按下单元格时,都会发出此信号。指定的
行
和列
是被按下的单元格。返回给定
行
和列
的单元格中显示的部件。- clear()#
从视图中移除所有条目。这也会移除所有选择和标题。如果您不想移除标题,请使用
clearContents()
。表格维数保持不变。- clearContents()#
从视图中移除所有不在标题中的条目。这也会移除所有选择。表格维数保持不变。
- closePersistentEditor(item)#
- 参数(Parameters):
item –
QTableWidgetItem
关闭
item
的持久编辑器。- column(item)#
- 参数(Parameters):
item –
QTableWidgetItem
- 返回类型:
int
返回
item
所属的列。- columnCount()#
- 返回类型:
int
返回列数。
另请参阅
属性
columnCountᅟ
的获取器。- currentCellChanged(当前行, 当前列, 前一行, 前一列)#
- 参数(Parameters):
当前行 – int
当前列 – int
前一行 – int
前一列 – int
每当当前单元格变化时,都会发出此信号。由
前一行
和前一列
指定的单元格是之前具有焦点的单元格,由当前行
和当前列
指定的单元格是新的当前单元格。- currentColumn()#
- 返回类型:
int
返回当前项目的列。
- currentItem()#
- 返回类型:
返回当前项。
另请参阅
- currentItemChanged(当前, 前一)#
- 参数(Parameters):
当前 –
QTableWidgetItem
前一 –
QTableWidgetItem
每当当前项变化时,都会发出此信号。
前一
项是之前具有焦点的项,当前
是新的当前项。- currentRow()#
- 返回类型:
int
返回当前项的行。
- dropMimeData(行, 列, 数据, 操作)#
- 参数(Parameters):
row – int
column – int
数据 –
QMimeData
操作 –
DropAction
- 返回类型:
bool
处理由拖放操作提供的
data
,该操作在第row
和第column
上结束,并具有指定的action
。如果数据和操作可以被模型处理,则返回true
;否则返回false
。- editItem(item)#
- 参数(Parameters):
item –
QTableWidgetItem
如果项目可编辑,开始编辑
item
。- findItems(text)#
- 参数(Parameters):
text – str
flags – 从
MatchFlag
组合
- 返回类型:
. list of QTableWidgetItem
使用指定的
flags
查找与text
匹配的项目。- horizontalHeaderItem(column)#
- 参数(Parameters):
column – int
- 返回类型:
如果已设置列标题,则返回列
column
的水平标题项;否则返回None
。- indexFromItem(item)#
- 参数(Parameters):
item –
QTableWidgetItem
- 返回类型:
返回与给定
item
关联的QModelIndex。注意
在Qt 5.10之前的版本中,此函数需要一个非
const
的item
。- insertColumn(column)#
- 参数(Parameters):
column – int
在表中的
column
位置插入一个空列。- insertRow(row)#
- 参数(Parameters):
row – int
在表中的
row
位置插入一个空行。- isPersistentEditorOpen(item)#
- 参数(Parameters):
item –
QTableWidgetItem
- 返回类型:
bool
返回是否为项
item
打开了一个持久编辑器。- item(row, column)#
- 参数(Parameters):
row – int
column – int
- 返回类型:
返回给定
row
和column
的项,如果有设置;否则返回None
。另请参阅
- itemActivated(item)#
- 参数(Parameters):
item –
QTableWidgetItem
当指定的
item
被激活时,会发出此信号返回给定
point
位置的项的指针,或者在表小部件中的项无法覆盖point
时返回None
。另请参阅
- itemAt(x, y)
- 参数(Parameters):
x – int
y – int
- 返回类型:
返回表小部件坐标系中与 QPoint(
ax
,ay
) 相等位置处的项,或在指定的点不由表小部件中的项覆盖时返回None
。另请参阅
- itemChanged(item)#
- 参数(Parameters):
item –
QTableWidgetItem
当
item
的数据更改时,会发出此信号- itemClicked(item)#
- 参数(Parameters):
item –
QTableWidgetItem
当在表中单击项时,会发出此信号。指定的
item
是被单击的项。- itemDoubleClicked(item)#
- 参数(Parameters):
item –
QTableWidgetItem
当在表中双击项时,会发出此信号。指定的
item
是被双击的项。- itemEntered(item)#
- 参数(Parameters):
item –
QTableWidgetItem
当鼠标光标进入项时,会发出此信号。该项是进入的项。
该信号仅在鼠标跟踪开启时发出,或者在鼠标移动到项目时按下鼠标按钮的情况下发出。
- itemFromIndex(index)#
- 参数(Parameters):
index –
QModelIndex
- 返回类型:
返回与给定
index
相关联的QTableWidgetItem
的指针。- itemPressed(item)#
- 参数(Parameters):
item –
QTableWidgetItem
每当在表中按下一个项时,都会发出此信号。指定的
item
是按下的项。- itemPrototype()#
- 返回类型:
返回表使用的项原型。
另请参阅
- itemSelectionChanged()#
每当选择更改时,都会发出此信号。
- items(data)#
- 参数(Parameters):
数据 –
QMimeData
- 返回类型:
. list of QTableWidgetItem
返回包含在
data
对象中的项的指针列表。如果该对象不是由同一进程中创建的QTreeWidget
创建的,则列表为空。返回一个包含指定
items
序列化的描述的对象。用于描述项的格式从mimeTypes()
函数中获取。如果项列表为空,则返回
None
,而不是序列化的空列表。- mimeTypes()#
- 返回类型:
字符串列表
返回可以用于描述一系列表控件项的MIME类型列表。
另请参阅
- openPersistentEditor(item)#
- 参数(Parameters):
item –
QTableWidgetItem
为给定的
item
打开一个编辑器。编辑后编辑器保持打开状态。- removeCellWidget(row, column)#
- 参数(Parameters):
row – int
column – int
删除由
row
和column
指定的单元格上设置的部件。- removeColumn(column)#
- 参数(Parameters):
column – int
删除列
column
以及其所有条目。- removeRow(row)#
- 参数(Parameters):
row – int
删除行
row
以及其所有条目。- row(item)#
- 参数(Parameters):
item –
QTableWidgetItem
- 返回类型:
int
返回
item
所在的行。- rowCount()#
- 返回类型:
int
返回行数。
另请参阅
属性
rowCountᅟ
的获取器。- scrollToItem(item[, hint=QAbstractItemView.ScrollHint.EnsureVisible])#
- 参数(Parameters):
item –
QTableWidgetItem
提示(hint) –
ScrollHint
根据需要滚动视图,以确保
item
可见。hint
参数更精确地指定操作后item
应该位于的位置。- selectedItems()#
- 返回类型:
. list of QTableWidgetItem
返回所有选中项的列表。
此函数返回指向选中单元格的内容的指针列表。使用
selectedIndexes()
函数检索包含空单元格的完整选择。另请参阅
selectedIndexes()
- selectedRanges()#
- 返回类型:
返回所有选中范围的列表。
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
将指定的
widget
显示在指定row
和column
的单元格中,并将小部件的所有权传递给表格。如果将单元格小部件 A 替换为单元格小部件 B,则小部件 A 将被删除。例如,在下述代码片段中,
QLineEdit
对象将被删除。setCellWidget(row, column, QLineEdit()) ... setCellWidget(row, column, QTextEdit())
另请参阅
- setColumnCount(columns)#
- 参数(Parameters):
columns – int
将此表格模型的列数设置为
columns
。如果这个值小于columnCount()
,则不想要的列中的数据将被丢弃。属性
columnCount
的设置器。- setCurrentCell(row, column)#
- 参数(Parameters):
row – int
column – int
将当前单元格设置为位置 (
row
,column
) 的单元格。根据当前的
selection mode
,单元格也可能被选中。- setCurrentCell(row, column, command)
- 参数(Parameters):
row – int
column – int
command –
SelectionFlag
的组合
使用给定的
command
将当前单元格设置为位置 (row
,column
) 的单元格。- setCurrentItem(item, command)#
- 参数(Parameters):
item –
QTableWidgetItem
command –
SelectionFlag
的组合
使用给定的
command
设置当前项为item
。- setCurrentItem(item)
- 参数(Parameters):
item –
QTableWidgetItem
将当前项设置为
item
。除非选择模式为
NoSelection
,否则项也会被选中。- setHorizontalHeaderItem(column, item)#
- 参数(Parameters):
column – int
item –
QTableWidgetItem
设置水平表头项,将列
column
的水平表头项设置为item
。如果需要,列数会增加以容纳项。之前的表头项(如果有的话)将被删除。- setHorizontalHeaderLabels(labels)#
- 参数(Parameters):
labels – 字符串列表
使用
labels
设置水平表头标签。- setItem(row, column, item)#
- 参数(Parameters):
row – int
column – int
item –
QTableWidgetItem
将指定行
row
和列column
的项设置为item
。表将拥有该项。
注意,如果启用了排序(请参阅
sortingEnabled
)并且column
是当前排序列,则行将移动到由item
确定的排序位置。如果您想设置特定行的多个项(例如,通过在循环中调用 setItem()),您可能希望在这样做之前关闭排序,并在之后重新打开它;这将允许您为同一行中的所有项使用相同的
row
参数(即 setItem() 将不会移动行)。另请参阅
- setItemPrototype(item)#
- 参数(Parameters):
item –
QTableWidgetItem
为表格设置指定的
item
作为项目原型。当表格小部件需要创建新的表格项目时将使用项目原型的克隆函数。例如,当用户在空单元格中编辑时。如果您有一个
QTableWidgetItem
子类,并想确保QTableWidget
创建您的子类实例,这非常有用。表格将拥有原型。
另请参阅
- setRangeSelected(range, select)#
- 参数(Parameters):
range –
QTableWidgetSelectionRange
select – bool
根据
select
选择或取消选择range
。- setRowCount(rows)#
- 参数(Parameters):
rows – int
将此表模型的行数设置为
rows
。如果此值小于rowCount()
,则丢弃不需要的行中的数据。属性
rowCount
的设置器。- setVerticalHeaderItem(row, item)#
- 参数(Parameters):
row – int
item –
QTableWidgetItem
将行
row
的垂直标题项设置为item
。另请参阅
- setVertical_headerLabels(labels)#
- 参数(Parameters):
labels – 字符串列表
使用
labels
设置垂直标题标签。根据
column
和order
对表小部件中的所有行进行排序。- supportedDropActions()#
- 返回类型:
DropAction
的组合
返回此视图支持的拖动操作。
另请参阅
拖动操作
- takeHorizontalHeaderItem(column)#
- 参数(Parameters):
column – int
- 返回类型:
从标题中移除位于
column
的水平标题项,而不删除它。- takeItem(row, column)#
- 参数(Parameters):
row – int
column – int
- 返回类型:
从表中移除位于
row
和column
的项,而不删除它。- takeVerticalHeaderItem(row)#
- 参数(Parameters):
row – int
- 返回类型:
从标题中移除位于
row
的垂直标题项,而不删除它。- verticalHeaderItem(row)#
- 参数(Parameters):
row – int
- 返回类型:
返回行
row
的垂直标题项。- visualColumn(logicalColumn)#
- 参数(Parameters):
logicalColumn – int
- 返回类型:
int
返回指定
logicalColumn
的可视列。- visualItemRect(item)#
- 参数(Parameters):
item –
QTableWidgetItem
- 返回类型:
返回由
item
占据的视口上的矩形。- visualRow(logicalRow)#
- 参数(Parameters):
logicalRow – int
- 返回类型:
int
返回指定
logicalRow
的可视行。