pyqt5中tablewidget行点击事件
时间: 2024-11-09 12:17:32 浏览: 19
在PyQt5中,`TableWidget`的行点击事件可以通过监听`cellClicked`信号来处理。`cellClicked`信号会在每个单元格被点击时触发,提供了一个`QModelIndex`参数,表示被点击的单元格的位置。
下面是一个简单的例子,展示了如何在`TableWidget`的每一行被点击时打印出所在的行索引:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem
from PyQt5.QtCore import Qt, QModelIndex
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.table_widget = QTableWidget(self)
self.table_widget.setColumnCount(3)
self.table_widget.setRowCount(5)
for row in range(self.table_widget.rowCount()):
for col in range(self.table_widget.columnCount()):
item = QTableWidgetItem()
self.table_widget.setItem(row, col, item)
self.table_widget.cellClicked.connect(self.handle_row_click)
def handle_row_click(self, index: QModelIndex):
row = index.row() # 获取点击的行索引
print(f"Row {row} was clicked.")
if __name__ == '__main__':
app = QApplication([])
window = MyWindow()
window.show()
app.exec_()
```
在这个例子中,当你点击`TableWidget`的任何一行时,控制台会输出对应的行号。
阅读全文