- 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 –
QTableWidgetItemcommand –
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 –
QTableWidgetSelectionRangeselect – 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的可视行。