2017-03-17 4 views
-1

私はバインドカウンターのプログラムを書こうとしていましたが、変数 'r'に問題がありました。 「r」がなければ、def callback(event、r):私はLocalBoundErrorというエラーに直面していました。私はちょっと調べて、def()でパラメータの書き込みを使うべきだということを学びました。したがって、私はそれを試しました。しかし、それはすでにパラメータ、イベントが存在するため、機能しません。私は何をすべきか考えていますか?イベントと定義との闘い

from tkinter import * 

top = Tk()  
r = 0 

def callback(event,r):  
    r = r+1  
    print(r)  
    top.mainloop() 

top.bind("<Button-1>",callback,r)  
top.mainloop() 
+0

後permenantly変わるようrglobal変数を作成する必要があるかもしれませんcallback機能

top.bind("", lambda event: callback(event, r)) 

に追加のパラメータrを渡すために修正してください。コードの書式設定それを容易にするツールがエディタにあります。 '{} 'のようなボタンを探してください。 –

+0

答えは私の質問と@furasコメント[リンク](http://stackoverflow.com/q/41800868/5722359)に記載されています。 –

答えて

1

使用ラムダます。また、それが機能

+0

ありがとうございます。それは私をとても助けました。 – antisycop

+0

全く問題ありません:) –

関連する問題