2016-06-18 18 views
-3

私が必要とするのは、パラメータで呼び出されたボタンに関数をアタッチすることです。ただし、次のようにコードを記述すると、ボタンが作成された時点でコードが実行されます。また、ボタンの属性として関数を宣言したときに、パラメータと括弧を取り除いても、コードは正常に機能します。ボタンを押したときにのみ、どのようにパラメータを使って関数を呼び出すことができますか?ボタンに貼り付けられたTkinter機能即時実行

from Tkinter import * 

root =Tk() 

def function(parameter): 
    print parameter 

button = Button(root, text="Button", function=function('Test')) 
button.pack() 

root.mainloop() 
+0

リンクありがとうございます! @nbro – Jonas

答えて

0

ソリューションは、ラムダ関数を渡すことです。また、

from Tkinter import * 

root =Tk() 

def callback(parameter): 
    print parameter 

button = Button(root, text="Button", command=lambda: callback(1)) 
button.pack() 

root.mainloop() 

、@nbroはすでに正しく指摘したように、ボタンの属性は、コマンド、関数ではなく。

+1

これは明らかに重複しているので、私は答えで削除しました。 – nbro

関連する問題