1

この例は機能します:(ここで私の関数には入力パラメータがありません)

    QtCore.QObject.connect(ComboJobType1_1, QtCore.SIGNAL(_fromUtf8("currentIndexChanged(QString)")) ,self.InputChanged())

しかし、パラメーターを送信する必要があるため、これを試します:(1つのパラメーターを期待するように関数を更新した後):

QtCore.QObject.connect(ComboJobType1_1, QtCore.SIGNAL(_fromUtf8("currentIndexChanged(QString)")) ,self.InputChanged("ComboJobType1_1"))

最初の例が機能していることに注意してください。唯一の問題 (推測) は、関数にパラメーターを送信することです (関数内にいるときは、コンボボックスの名前を知っている必要があります)。

アドバイスをお願いします... ありがとうございます!素晴らしい一日をお過ごしください、ドルフィン

4

3 に答える 3

2

ref https://eli.thegreenplace.net/2011/04/25/passing-extra-arguments-to-pyqt-slot

    button1.clicked.connect(lambda: self.on_button(1))
    button2.clicked.connect(lambda: self.on_button(2))

def on_button(self, n):
    print('Button {0} clicked'.format(n))

私のために働いた、thtはそれに単純なラムダを与えます(実行の代わりに機能参照に変えますか?

于 2018-12-26T06:56:17.293 に答える
0

放出オブジェクト( "from_object")とスロットハンドラー( "self.my_handler")を提供する必要があります。

QtCore.QObject.connect(from_object, QtCore.SIGNAL("nameOfSignal(QString)"), self.my_handler)
于 2012-06-27T11:31:43.037 に答える