2016-05-29 5 views
1

私はパラメータを取らないPython関数を持っています。私のコードでは、この関数を2回呼び出します。かつてはTkinter Buttonの背後にあるコマンドとして、もう一度ウィンドウにバインドするイベントへの関数として。コマンドについては、私はfuncと関数を呼び出すと、正常に動作します。イベントの場合、私はそれをfunc()と呼んで、関数の定義をfunc(self)に変更すれば動作します。TkInterの "func"と "func()"の違いは何ですか?

なぜですか?どのようにしてこれらの通話を両立させることができますか?

+0

サンプルコードを表示できますか? 'func'を書くだけで実際には呼び出されないので、ボタンへの' command'引数として渡していると思うでしょうが、私はあなたが2回目の使用方法を理解していません... –

+0

簡単に: '* args'のような可変数のパラメータや' event = None'のようなオプションのパラメータです。 – TigerhawkT3

+2

ボタンとイベントの作成方法(つまり、ボタンとイベントに関数をバインドする方法)を示す小さな例がありますか? 'func()'はどちらの場合でも動作しません。 – tdelaney

答えて

-1

これは、関数をボタンにバインドするときに関数を呼び出さないため、ボタンを押したときに何をするかをtkinterが知るようにバインドするためです。そのイベントで行っているときに関数を呼び出すときには、func()を使用する必要があります。

+0

これは、イベントを関数に送信しないButtonに関数を関連付けること、およびイベントを送信するウィンドウにバインドされたイベントには関係ありません。 @WhyNot、この答えはあなたの問題を実際に解決しましたか?それができなかった場合は、回答を受け入れる必要はなく、いつでも受諾できないことに注意してください。役に立たない答えを受け入れることは、将来の読者を混乱させるだけです。 – TigerhawkT3

関連する問題