【问题标题】:Parameter in PyQt connectPyQt 连接中的参数
【发布时间】:2018-05-25 17:23:49
【问题描述】:

我看到的关于将 PyQt4 信号/插槽转换为 PyQt5 的示例非常简单,例如将按钮单击连接到更改标签。但是下面的语句应该如何转换:

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

itemChanged 的​​参数让我感到困惑。我试过了,通过类比的例子:

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

谢谢!

【问题讨论】:

    标签: python pyqt pyqt4 pyqt5


    【解决方案1】:

    当您建立new syntax 连接时,无需指明信号发送的参数类型,除非在同一个类中有同名的信号,但在您的情况下不是,所以以下将成为解决方案:

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

    异常的典型例子是QComboBox:激活信号可以发送激活项的字符串或激活项的索引,所以这里要指明我们想要的数据类型。

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

    【讨论】:

    • 感谢 eyllanesc!您能否举一个您提到的异常示例“同一类中具有相同名称的信号”?
    猜你喜欢
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多