2016-12-03 9 views
0

これはqt5デザイナで作成されたフォームiのクラスです。ボタンをクリックするとスロットが2回呼び出されます。pyqtSlotデコレータにもかかわらずスロットが2回呼び出される

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_()) 

私はここでミスをしていますか?

+0

私はpythonについてよく分かりませんが、信号がこのコマンドと名前の両方で接続されているため、おそらくconnect()行を削除する必要があります。 –

答えて

1

ボタンはbuttXデザイナーであるため、setupUi()の「名前で自動接続」機能が一致するスロットを検出します。

あなたはどちらか

  1. は私が個人的にないスロット名を使用する、すなわち、後者のために行くだろうスロット

の名前を変更ボタン

  • の名前を変更
  • 明示的な接続を削除することができます"auto name connect"が探しているパターンはありません。 など。 onButtXClicked

  • 関連する問題