Qt中qtablewidget如何获取双击修改后的数据
时间: 2023-11-13 09:03:03 浏览: 188
您可以使用QTableWidget的cellChanged信号或者itemChanged信号来获取单元格修改后的数据。可以使用下面的代码来演示如何获取双击修改后的数据:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QLineEdit, QHeaderView
from PyQt5.QtCore import Qt
class MyTableWidget(QTableWidget):
def __init__(self, rows, columns):
super().__init__(rows, columns)
self.initUI()
def initUI(self):
self.cellChanged.connect(self.handleCellChanged)
def handleCellChanged(self, row, column):
item = self.item(row, column)
print(item.text())
if __name__ == '__main__':
app = QApplication([])
tableWidget = MyTableWidget(3, 3)
tableWidget.setHorizontalHeaderLabels(['A', 'B', 'C'])
tableWidget.setVerticalHeaderLabels(['1', '2', '3'])
for i in range(3):
for j in range(3):
item = QTableWidgetItem('0')
tableWidget.setItem(i, j, item)
tableWidget.setEditTriggers(QTableWidget.DoubleClicked)
tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
tableWidget.show()
app.exec_()
```
在这个例子中,我们首先定义了一个自定义QWidget类(MyTableWidget),继承了QTableWidget,然后我们连接了cellChanged信号到handleCellChanged()槽函数。在handleCellChanged()中,我们使用item()函数获取单元格(QTableWidgetItem),并使用text()函数来获取单元格文本。最后我们使用print()函数来将修改后的文本输出到控制台。
我们通过setEditTriggers()函数来设置单元格为双击编辑模式。我们还使用setHorizontalHeaderLabels()和setVerticalHeaderLabels()函数设置表格的横向和纵向标头标签。最后我们使用horizontalHeader()函数和setSectionResizeMode()函数将表格的列调整为可拉伸,以便更好地适应窗口大小。