1

ボタンがクリックされたときに実行される関数を実装すると、コードは次のようになります。

self.connect(btnBrowse, SIGNAL("clicked()"), self.browseFile)

そして私は機能を実装しますbrowseFile

def browseFile(self):

しかし、browseFile メソッド内にいるときは、クリックされたボタンに関する情報がありませんbrowseFile。多くのボタンに対して 1 つの関数だけを実装したいからです。たとえば、関数を次のようにするには、どうすればスロットの詳細情報を取得できますか。

def browseFile(self, option):

ありがとう

4

2 に答える 2

2

ラムダに接続します (またはfunctools.partialを使用します)。また、はるかに読みやすく Pythonic な新しいスタイルの構文の使用にも注意してください。

self.btnBrowse.clicked.connect(lambda: self.browseFile(option))
于 2012-08-10T15:10:05.873 に答える
1

Sender()は、イベントを送信したボタンへのポインターを提供します。その後、ボタンのテキスト (またはその他の関連データ) を読み取って、どのボタンが押されたかを判断できます。

于 2012-08-10T14:28:13.357 に答える