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

Posted

技术标签:

【中文标题】如何保存编辑的 PyQt5 TableWidget 单元格?【英文标题】:How to save edited PyQt5 TableWidget cell? 【发布时间】:2021-05-25 14:18:10 【问题描述】:

我有一个具有 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())

这是按键代码,但是当按键被按下时它会获取旧值。

任何解决方案,或任何其他方式将编辑的单元格保存到文件?

【问题讨论】:

【参考方案1】:

你必须在你的主类中调用它:

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

【讨论】:

您好,这很有帮助!您能否查看我与您的解决方案相关的新问题:***.com/questions/68634277/…

以上是关于如何保存编辑的 PyQt5 TableWidget 单元格?的主要内容,如果未能解决你的问题,请参考以下文章

PYQT5 拖放行在 TableWidget 中未按预期工作

pyqt5-tablewidget 尾部添加行列

pyqt5-tablewidget 尾部添加行列

PYQT5 QTableWidget详细用法

Qtablewidget 去除黑色空间 PyQt5

在 QTableWidget PyQt5 中突出显示单元格