Qtablewidget获取单元格修改事件
时间: 2024-10-16 14:04:09 浏览: 37
在QTableWidget中,要获取单元格内容修改的事件,你可以使用`cellChanged`信号连接到一个槽函数。这个信号会在用户编辑完单元格并按下Enter键、Tab键或者失去了焦点时触发。下面是一个简单的示例:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QTableWidget, QTableWidgetItem
class MyTable(QWidget):
def __init__(self):
super().__init__()
self.table = QTableWidget()
self.table.cellChanged.connect(self.on_cell_changed)
# 初始化表格...
self.setLayout(QVBoxLayout())
self.layout().addWidget(self.table)
def on_cell_changed(self, row, column):
"""
当单元格内容改变时,此函数会被调用
:param row: 被修改的行号
:param column: 被修改的列号
"""
current_item = self.table.item(row, column)
if current_item is not None:
print(f"Cell at ({row}, {column}) has been modified to: {current_item.text()}")
if __name__ == "__main__":
app = QApplication([])
window = MyTable()
window.show()
app.exec_()
```
在这个例子中,`on_cell_changed`函数会在每次单元格内容修改后打印出新的值。你可以根据需要在此函数中添加更多的处理逻辑。
阅读全文