如何保存已编辑的 PyQt5 TableWidget 单元格?

How to save edited PyQt5 TableWidget cell?

我有一个带有 QTableWidget 的应用程序。当用户点击一个单元格时,他可以编辑它,并且可以写任何东西。完成后,他按 'enter' 键完成对单元格的编辑。

我想在输入键后立即获取新的单元格值,并使用按键将其保存到文件中。

    #keyPressEvent
    self.tableWidget.keyPressEvent = self.KeyPressed

def KeyPressed(self,event):
    if event.key() == Qt.Key_Return:
        row = self.tableWidget.currentRow()
        col = self.tableWidget.currentColumn()
        print(self.tableWidget.item(row, col).text())

这是按键代码,但是当按键被按下时它得到的是旧值。

对此有任何解决方案,或任何其他将编辑后的单元格保存到文件的方法吗?

你必须在主程序中调用它 class:

self.tableWidget.itemChanged.connect(self.save_changes)

@pyqtSlot()
def save_changes(self):
    for currentQTableWidgetItem in self.tableWidget.selectedItems():
        projectName = self.tableWidget.item(currentQTableWidgetItem.row(),  0).text()
        #save changes to a .csv file with pandas