Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何保存已编辑的PyQt5 TableWidget单元格?_Python_User Interface_Pyqt5_Qtablewidget - Fatal编程技术网

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

Python 如何保存已编辑的PyQt5 TableWidget单元格?,python,user-interface,pyqt5,qtablewidget,Python,User Interface,Pyqt5,Qtablewidget,我有一个应用程序,它有一个QTableWidget。当用户点击一个单元格时,他可以编辑它,并且可以写任何东西。完成后,按“回车”键完成单元格编辑 我想在回车键之后获得新的单元格值,并用按键将其保存到文件中 #keyPressEvent self.tableWidget.keyPressEvent = self.KeyPressed def KeyPressed(self,event): if event.key() == Qt.Key_Return: r

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

我想在回车键之后获得新的单元格值,并用按键将其保存到文件中

    #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())
这是按键代码,但按键时会得到旧值


是否有任何解决方案,或将编辑的单元格保存到文件中的任何其他方法?

您必须在主类中调用此选项:

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