尽管pyqtSlot装饰器,插槽被调用两次

时间:2016-12-03 08:37:14

标签: qt signals-slots pyqt5

这是我在qt5设计师中制作的一个类。单击按钮时,将调用插槽两次。

class CustomerList(QWidget, Ui_CustomerList):
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        self.setupUi(self)
        self.buttX.clicked.connect(self.on_buttX_clicked)

    @pyqtSlot()
    def on_buttX_clicked(self):
        print("on_buttX_clicked")

if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = CustomerList()
    w.show()

    sys.exit(app.exec_())

我在这里想念什么?

1 个答案:

答案 0 :(得分:1)

您的按钮在设计器中名为buttX,因此setupUi()中的“按姓名自动连接”功能会找到匹配的广告位。

你可以

  1. 删除显式连接
  2. 重命名按钮
  3. 重命名广告位
  4. 我个人会选择后者,即使用没有“自动名称连接”寻找模式的插槽名称。 例如。 onButtXClicked