【问题标题】:How to emit a signal when cell/item is edited?编辑单元格/项目时如何发出信号?
【发布时间】:2012-10-29 21:32:21
【问题描述】:

我有一种方法可以将数据库中的表导入 QTableWidget,我想通过 QTableWidget 编辑数据库中的单元格(通过双击编辑单元格时)。我曾尝试使用 QTableWidget::cellChanged() 信号,但问题是从数据库导入时表中的每个单元格都会发出该信号。只有在编辑文本后“手动”更改单元格时,我才能发出信号?

【问题讨论】:

  • 你为什么不使用一个 QTableView 加上一个 QSqlTableModel ?
  • 加载时断开信号,加载后重新连接?

标签: qt qtableview qtablewidget


【解决方案1】:

就像@Kamil 所说,加载时断开信号,然后重新连接: 在 Python 中看起来像:

self.disconnect(self.tableWidget, QtCore.SIGNAL("cellChanged(int, int)"), self.DoSomething)
....import data....
self.connect(self.tableWidget, QtCore.SIGNAL("cellChanged(int, int)"), self.DoSomething)

不确定,但我想这就是 C++ 的样子:

this->disconnect(this->tableWidget,QtCore::SIGNAL(cellChanged(int, int)),this->DoSomething)

我希望这也有帮助link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 2018-06-02
    • 2011-09-27
    • 1970-01-01
    • 2020-11-28
    • 2015-04-13
    • 1970-01-01
    相关资源
    最近更新 更多