【问题标题】:Updating mysql database with pyqt and qtablewidget使用 pyqt 和 qtablewidget 更新 mysql 数据库
【发布时间】:2017-03-15 20:47:28
【问题描述】:

我有一个程序将我的数据库数据存储在 QtableWidget 中。 我想添加 EventListener 所以每当用户编辑一行中的任何列时, 它会立即更新服务器中的数据。

我正在想办法做到这一点。 这个想法是将 UPDATE 查询发送到服务器数据库。但我坚持想办法让它看到变化并立即更新。

或在编辑多行后单击按钮时更新。但是它必须存储所有更改,所以我认为第一个选项更好。

任何建议都会很棒!

先谢谢了!

【问题讨论】:

    标签: python mysql python-2.7 pyqt4


    【解决方案1】:

    我同意你的看法;我认为第一种选择更好。这是您可以实现的一种方法:您可以等待用户进行更改(默认情况下,表格应该是可编辑的),当用户按下回车键时,处理事件。为此,请查看 BeetDemGuise 的 answer

    按下回车键后,将发出一个信号,您可以将其连接到一个槽函数,该函数将查看当前单元格数据并在数据库中更新它。例如signal.connect(handle_signal)。在您的handle_signal() 中,您可以获得当前文本(mytable.currentItem().text()),然后在数据库中进行更改。如果您使用的是 SqlAlchemy,它将看起来像:

    table = self.values.update()
    self.engine.execute(table.values(value="[the current text]".
                                where(table.id == id))
    

    当然,这取决于您使用的 ORM。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-10
      • 2013-03-03
      • 2012-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多