qtablewidget双击
时间: 2023-08-30 07:05:49 浏览: 190
在使用 QTableWidget 控件时,如果想要响应双击事件,可以使用以下步骤:
1. 在代码中创建 QTableWidget 控件并设置相关属性,例如表头、行列数等。
2. 给 QTableWidget 控件添加双击事件处理函数,可以使用以下代码:
```python
self.tableWidget.cellDoubleClicked.connect(self.handle_double_click)
```
其中,`cellDoubleClicked` 是 QTableWidget 控件的双击事件,`handle_double_click` 是自定义的双击事件处理函数。
3. 实现双击事件处理函数,例如:
```python
def handle_double_click(self, row, column):
item = self.tableWidget.item(row, column)
if item is not None:
print(item.text())
```
在该函数中,我们可以获取双击的单元格的行和列,然后获取该单元格的内容,并进行相应的处理。
完整的示例代码如下:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem
class Example(QTableWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('QTableWidget 双击示例')
self.setColumnCount(3)
self.setRowCount(3)
self.setHorizontalHeaderLabels(['姓名', '性别', '年龄'])
self.setVerticalHeaderLabels(['1', '2', '3'])
data = [['张三', '男', '20'], ['李四', '女', '22'], ['王五', '男', '24']]
for i in range(self.rowCount()):
for j in range(self.columnCount()):
item = QTableWidgetItem(data[i][j])
self.setItem(i, j, item)
self.cellDoubleClicked.connect(self.handle_double_click)
def handle_double_click(self, row, column):
item = self.item(row, column)
if item is not None:
print(item.text())
if __name__ == '__main__':
app = QApplication([])
ex = Example()
ex.show()
app.exec_()
```
该示例程序创建了一个 QTableWidget 控件,其中包含了一些数据。当用户双击某个单元格时,会打印出该单元格的文本内容。
阅读全文