:キーボード入力を待つTkinterのボタンをどのようにして与えられたら、変数を変更するのですか?たとえば、
ボタンを押す - >ユーザCを押して自分のキーボード上 - >文字Cへの変数の変更は、 - >ボタンはもはや入力を待ち
これが行うことは超簡単であれば申し訳ありません。私はtkinterの経験がなく、これを達成しようと努力して研究しましたが、私のすべての方法ではウィンドウがフリーズするか全く出力されません。
:キーボード入力を待つTkinterのボタンをどのようにして与えられたら、変数を変更するのですか?たとえば、
ボタンを押す - >ユーザCを押して自分のキーボード上 - >文字Cへの変数の変更は、 - >ボタンはもはや入力を待ち
これが行うことは超簡単であれば申し訳ありません。私はtkinterの経験がなく、これを達成しようと努力して研究しましたが、私のすべての方法ではウィンドウがフリーズするか全く出力されません。
このスニペットを試してみてください:あなたが検出ボタンをクリックし、キーを押したとき
from Tkinter import *
class GUI(Frame):
def __init__(self,master=None):
Frame.__init__(self, master, width=200, height=200)
self.key = ''
self.key_detection = False
self.detect_button = Button(master, text="Detect", command=self.button_click)
self.detect_button.pack()
self.bind_all("<Key>", self.key_event)
def key_event(self, event):
if self.key_detection:
self.key = event.char
print self.key
self.key_detection = not self.key_detection
def button_click(self):
self.key_detection = not self.key_detection
if __name__ == "__main__":
gui_frame = GUI()
gui_frame.mainloop()
、キーの値は、それがコンソールに出力されますが、変数self.key
に格納され、もう一度[検出]ボタンを押すまで、キー検出はオフになります。
[検出]ボタンを使用すると、キー検出のオン/オフを切り替えることができます。
あなたが探していたものです。
ありがとう、まさに私が探していたものです。 <3 –
GUIプログラムは入力を待機しません。 Tkinter 'Button'ウィジェットはキーボード入力に応答しません。おそらく、あなたがそれを行うことができる最も近いことは、それをクリックすることによって_押されたときに_関数を呼び出すことになるでしょう。 – martineau
「ボタンはもう入力を待たない」とはどういう意味ですか? – Szabolcs
私はtkinterチュートリアルを見ていたときからそれを幾分認識しています。私は 'pynput'を使ってみましたが、それもうまくいきませんでした。あなたが気づいているモジュールはありますか?それはキーボード入力を待つことができるtkinterによって呼び出される関数を持つことができるでしょうか? –