PyQt连接中的参数

时间:2018-05-25 17:23:50

标签: python pyqt pyqt4 pyqt5

我见过的有关将PyQt4信号/插槽转换为PyQt5的示例非常简单,例如将按钮单击连接到更改标签。但是如何转换以下陈述:

self.connect(self.tableWidget,
    SIGNAL("itemChanged(QTableWidgetItem*)"),
    self.tableItemChanged)

itemChanged的参数令我困惑。我尝试过类比的例子:

self.tableWidget.itemChanged(
    QTableWidgetItem*).connect(self.tableItemChanged)

谢谢!

1 个答案:

答案 0 :(得分:1)

当你进行new syntax连接时,没有必要指出信号发送的参数类型,除非在同一个类中有相同名称的信号,但在你的情况下它不是,所以以下是解决方案:

self.tableWidget.itemChanged.connect(self.tableItemChanged)

异常的典型示例是QComboBox:激活的信号可以发送激活项的字符串或激活项的索引,因此需要指示我们想要的数据类型。 / p>

combobox.activated[str].connect(self.handle_string)
combobox.activated[int].connect(self.handle_int)