PySide6.QtWidgets.QTableWidget¶
- class QTableWidget¶
QTableWidget
类提供了一个基于项目的表格视图,带有默认模型。更多…概要¶
属性¶
columnCountᅟ
- 表格中的列数rowCountᅟ
- 表中的行数
方法¶
def
__init__()
def
cellWidget()
def
column()
def
columnCount()
def
currentColumn()
def
currentItem()
def
currentRow()
def
editItem()
def
findItems()
def
indexFromItem()
def
item()
def
itemAt()
def
itemFromIndex()
def
itemPrototype()
def
items()
def
row()
def
rowCount()
def
selectedItems()
def
selectedRanges()
def
setCellWidget()
def
setColumnCount()
def
setCurrentCell()
def
setCurrentItem()
def
setItem()
def
setRowCount()
def
sortItems()
def
takeItem()
def
visualColumn()
def
visualItemRect()
def
visualRow()
虚拟方法¶
def
dropMimeData()
def
mimeData()
def
mimeTypes()
插槽¶
def
clear()
def
clearContents()
def
insertColumn()
def
insertRow()
def
removeColumn()
def
removeRow()
def
scrollToItem()
信号¶
def
cellActivated()
def
cellChanged()
def
cellClicked()
def
cellEntered()
def
cellPressed()
def
itemActivated()
def
itemChanged()
def
itemClicked()
def
itemEntered()
def
itemPressed()
注意
本文档可能包含从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
时,属性可以直接使用,否则通过访问器函数使用。- property columnCountᅟ: int¶
此属性表示表格中的列数。
默认情况下,对于没有行和列计数的表,此属性包含的值为0。
- Access functions:
- property rowCountᅟ: int¶
此属性保存表中的行数。
默认情况下,对于没有行和列计数的表,此属性包含的值为0。
- Access functions:
使用给定的
parent
创建一个新的表视图。- __init__(rows, columns[, parent=None])
- Parameters:
rows – int
columns – 整数
parent –
QWidget
使用给定的
rows
和columns
以及给定的parent
创建一个新的表格视图。- cellActivated(row, column)¶
- Parameters:
row – int
column – 整数
当由
row
和column
指定的单元格被激活时,会发出此信号- cellChanged(row, column)¶
- Parameters:
row – int
column – 整数
每当由
row
和column
指定的单元格中的数据发生变化时,就会发出此信号。- cellClicked(row, column)¶
- Parameters:
row – int
column – 整数
每当点击表格中的单元格时,都会发出此信号。
row
和column
指定的是被点击的单元格。- cellDoubleClicked(row, column)¶
- Parameters:
row – int
column – 整数
每当表格中的单元格被双击时,就会发出此信号。
row
和column
指定的是被双击的单元格。- cellEntered(row, column)¶
- Parameters:
row – int
column – 整数
当鼠标光标进入一个单元格时,会发出此信号。该单元格由
row
和column
指定。此信号仅在启用鼠标跟踪时发出,或在移动进入项目时按下鼠标按钮时发出。
- cellPressed(row, column)¶
- Parameters:
row – int
column – 整数
每当按下表格中的单元格时,都会发出此信号。
row
和column
指定的是被按下的单元格。返回在给定的
行
和列
中显示的部件。- clear()¶
移除视图中的所有项目。这也会移除所有选择和标题。如果你不想移除标题,请使用
clearContents()
。表格的尺寸保持不变。- clearContents()¶
从视图中移除所有不在标题中的项目。这也会移除所有选择。表格的尺寸保持不变。
- closePersistentEditor(item)¶
- Parameters:
项目 –
QTableWidgetItem
关闭
item
的持久编辑器。- column(item)¶
- Parameters:
项目 –
QTableWidgetItem
- Return type:
整数
返回
item
的列。- columnCount()¶
- Return type:
整数
返回列的数量。
另请参阅
属性
columnCountᅟ
的获取器。- currentCellChanged(currentRow, currentColumn, previousRow, previousColumn)¶
- Parameters:
currentRow – int
currentColumn – int
previousRow – int
previousColumn – int
每当当前单元格发生变化时,就会发出此信号。由
previousRow
和previousColumn
指定的单元格是之前具有焦点的单元格,由currentRow
和currentColumn
指定的单元格是新的当前单元格。- currentColumn()¶
- Return type:
整数
返回当前项目的列。
- currentItem()¶
- Return type:
返回当前项目。
另请参阅
- currentItemChanged(current, previous)¶
- Parameters:
current –
QTableWidgetItem
previous –
QTableWidgetItem
每当当前项目发生变化时,就会发出此信号。
previous
项目是之前具有焦点的项目,current
是新的当前项目。- currentRow()¶
- Return type:
整数
返回当前项目的行。
- dropMimeData(row, column, data, action)¶
- Parameters:
row – int
column – 整数
data –
QMimeData
action –
DropAction
- Return type:
布尔
处理由拖放操作提供的
data
,该操作在给定的row
和column
中以给定的action
结束。如果模型可以处理数据和操作,则返回true
;否则返回false
。- editItem(item)¶
- Parameters:
项目 –
QTableWidgetItem
如果
item
是可编辑的,则开始编辑。使用给定的
flags
查找与text
匹配的项目。- horizontalHeaderItem(column)¶
- Parameters:
列 – int
- Return type:
返回列的横向标题项,
column
,如果已设置;否则返回None
。- indexFromItem(item)¶
- Parameters:
项目 –
QTableWidgetItem
- Return type:
返回与给定
item
关联的QModelIndex。注意
在Qt 5.10之前的版本中,此函数接受一个非
const
的item
。- insertColumn(column)¶
- Parameters:
列 – int
在表格的
column
位置插入一个空列。- insertRow(row)¶
- Parameters:
行 – 整数
在表格的
row
处插入一个空行。- isPersistentEditorOpen(item)¶
- Parameters:
项目 –
QTableWidgetItem
- Return type:
布尔
返回是否为项目
item
打开了持久编辑器。- item(row, column)¶
- Parameters:
row – int
column – 整数
- Return type:
返回给定
row
和column
的项,如果已设置;否则返回None
。另请参阅
- itemActivated(item)¶
- Parameters:
项目 –
QTableWidgetItem
当指定的
item
被激活时,会发出此信号返回指向给定
point
处的项目的指针,如果表格小部件中没有项目覆盖point
,则返回None
。另请参阅
- itemAt(x, y)
- Parameters:
x – 整数
y – 整数
- Return type:
返回在表格小部件的坐标系中与QPoint(
ax
,ay
)位置相对应的项,如果指定点未被表格小部件中的项覆盖,则返回None
。另请参阅
- itemChanged(item)¶
- Parameters:
项目 –
QTableWidgetItem
每当
item
的数据发生变化时,都会发出此信号。- itemClicked(item)¶
- Parameters:
项目 –
QTableWidgetItem
每当点击表格中的项目时,都会发出此信号。
item
指定的是被点击的项目。- itemDoubleClicked(item)¶
- Parameters:
项目 –
QTableWidgetItem
每当表格中的项目被双击时,都会发出此信号。
item
指定的是被双击的项目。- itemEntered(item)¶
- Parameters:
项目 –
QTableWidgetItem
当鼠标光标进入一个项目时,会发出此信号。
item
是进入的项目。此信号仅在启用鼠标跟踪时发出,或在移动进入项目时按下鼠标按钮时发出。
- itemFromIndex(index)¶
- Parameters:
索引 –
QModelIndex
- Return type:
返回与给定
index
关联的QTableWidgetItem
的指针。- itemPressed(item)¶
- Parameters:
项目 –
QTableWidgetItem
每当按下表格中的项目时,都会发出此信号。指定的
item
是被按下的项目。- itemPrototype()¶
- Return type:
返回表格使用的项目原型。
另请参阅
- itemSelectionChanged()¶
每当选择发生变化时,都会发出此信号。
返回指向
data
对象中包含的项目的指针列表。如果该对象不是由同一进程中的QTreeWidget
创建的,则列表为空。返回一个包含指定
items
序列化描述的对象。用于描述项目的格式是从mimeTypes()
函数中获取的。如果项目列表为空,则返回
None
而不是序列化的空列表。- mimeTypes()¶
- Return type:
字符串列表
返回可用于描述表格小部件项目列表的MIME类型列表。
另请参阅
- openPersistentEditor(item)¶
- Parameters:
项目 –
QTableWidgetItem
为给定的
item
打开一个编辑器。编辑后编辑器保持打开状态。- removeCellWidget(row, column)¶
- Parameters:
row – int
column – 整数
移除由
row
和column
指示的单元格上设置的小部件。- removeColumn(column)¶
- Parameters:
列 – int
从表中移除列
column
及其所有项。- removeRow(row)¶
- Parameters:
行 – 整数
从表中移除行
row
及其所有项目。- row(item)¶
- Parameters:
项目 –
QTableWidgetItem
- Return type:
整数
返回
item
的行。- rowCount()¶
- Return type:
整数
返回行数。
另请参阅
属性
rowCountᅟ
的获取器。- scrollToItem(item[, hint=QAbstractItemView.ScrollHint.EnsureVisible])¶
- Parameters:
项目 –
QTableWidgetItem
提示 –
ScrollHint
如有必要,滚动视图以确保
item
可见。hint
参数更精确地指定了操作后item
应位于的位置。- selectedItems()¶
- Return type:
返回所有选定项目的列表。
此函数返回指向所选单元格内容的指针列表。使用
selectedIndexes()
函数来检索完整的选择,包括空单元格。另请参阅
selectedIndexes()
- selectedRanges()¶
- Return type:
返回所有选定范围的列表。
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
将给定的
widget
设置为在给定的row
和column
中显示,并将该widget的所有权传递给表格。如果单元格小部件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 – 整数
将当前单元格设置为位于位置 (
row
,column
) 的单元格。根据当前的
selection mode
,单元格也可能被选中。- setCurrentCell(row, column, command)
- Parameters:
row – int
column – 整数
command –
SelectionFlag
的组合
将当前单元格设置为位于位置(
row
,column
)的单元格,使用给定的command
。- setCurrentItem(item)¶
- Parameters:
项目 –
QTableWidgetItem
将当前项目设置为
item
。除非选择模式是
NoSelection
,否则该项目也会被选中。- setCurrentItem(item, command)
- Parameters:
项目 –
QTableWidgetItem
command –
SelectionFlag
的组合
将当前项目设置为
item
,使用给定的command
。- setHorizontalHeaderItem(column, item)¶
- Parameters:
column – 整数
项目 –
QTableWidgetItem
将列
column
的水平标题项设置为item
。如有必要,列数会增加以适应该项。先前的标题项(如果有的话)将被删除。- setHorizontalHeaderLabels(labels)¶
- Parameters:
labels – 字符串列表
使用
labels
设置水平标题标签。- setItem(row, column, item)¶
- Parameters:
row – int
column – 整数
项目 –
QTableWidgetItem
将给定的
row
和column
的项目设置为item
。该表拥有该项目的所有权。
请注意,如果启用了排序(参见
sortingEnabled
)并且column
是当前的排序列,则row
将被移动到由item
确定的排序位置。如果你想设置某一行的多个项目(例如,在循环中调用setItem()),你可能希望在操作之前关闭排序,并在操作完成后重新开启;这将允许你对同一行中的所有项目使用相同的
row
参数(即setItem()不会移动该行)。另请参阅
- setItemPrototype(item)¶
- Parameters:
项目 –
QTableWidgetItem
将表的项目原型设置为指定的
item
。表格小部件在需要创建新的表格项时将使用项原型克隆函数。例如,当用户正在编辑一个空单元格时。这在您有一个
QTableWidgetItem
子类并希望确保QTableWidget
创建您的子类的实例时非常有用。该表接管了原型的所有权。
另请参阅
- setRangeSelected(range, select)¶
- Parameters:
range –
QTableWidgetSelectionRange
select – 布尔值
根据
select
选择或取消选择range
。- setRowCount(rows)¶
- Parameters:
行数 – int
将此表的模型中的行数设置为
rows
。如果这个值小于rowCount()
,则丢弃不需要的行中的数据。属性
rowCountᅟ
的设置器。- setVerticalHeaderItem(row, item)¶
- Parameters:
row – int
项目 –
QTableWidgetItem
将行
row
的垂直标题项设置为item
。另请参阅
- setVerticalHeaderLabels(labels)¶
- Parameters:
labels – 字符串列表
使用
labels
设置垂直标题标签。根据
column
和order
对表格小部件中的所有行进行排序。- supportedDropActions()¶
- Return type:
DropAction
的组合
返回此视图支持的拖放操作。
另请参阅
DropActions
- takeHorizontalHeaderItem(column)¶
- Parameters:
列 – int
- Return type:
从标题中移除位于
column
处的水平标题项,而不删除它。- takeItem(row, column)¶
- Parameters:
row – int
column – 整数
- Return type:
从表中移除位于
row
和column
处的项目,但不删除它。- takeVerticalHeaderItem(row)¶
- Parameters:
行 – 整数
- Return type:
从标题中移除位于
row
的垂直标题项,而不删除它。- verticalHeaderItem(row)¶
- Parameters:
行 – 整数
- Return type:
返回行
row
的垂直标题项。- visualColumn(logicalColumn)¶
- Parameters:
logicalColumn – int
- Return type:
整数
返回给定
logicalColumn
的视觉列。- visualItemRect(item)¶
- Parameters:
项目 –
QTableWidgetItem
- Return type:
返回视口中由
item
处的项目占据的矩形。- visualRow(logicalRow)¶
- Parameters:
logicalRow – int
- Return type:
整数
返回给定
logicalRow
的视觉行。