2017-11-15 3 views
-2

私はいくつかのTKinterのGUIコードに取り組んでいましたが、スペースバーにキーバインドを制限して、使用不能になる前に20回しか押せないようにしたかったのです。これをどのように実装するのですか(一般的に)?TKinterで応答がないうちにキーが押される回数を制限するにはどうすればよいですか?

+2

あなたは、単にそれぞれのクリックでカウンタをインクリメントし、ときのボタンの状態を変更しようとしていますカウンターは20に達する? –

答えて

1

Bryanコメントで言及したように、一例としては、次のようになります。

import tkinter as tk 

root = tk.Tk() 

c = 0 

def space_event(event): 
    global c 
    if c < 20: 
     print(c) 
     c += 1 


root.bind("<space>", space_event) 

root.mainloop() 

それはまだ20の後にイベント機能を実行して上記のコードは、私を盗聴されたその直後何もしていない、到達しました。代わりに、これはもはやc >= 20後にバインドさスペースキーを作るように私はむしろ、コードの下に使用したいthisから学ぶ:

import tkinter as tk 

root = tk.Tk() 

c = 0 

def space_event(event): 
    global c 

    print(c) 
    c += 1 

    if c >= 20: 
     root.unbind("<space>") 

root.bind("<space>", space_event) 

root.mainloop() 
関連する問題