2011-07-20 244 views
0

我在努力學習Tkinter,但我遇到了一個問題。我喜歡它,所以一旦用戶點擊他們的回車鍵,它將複製輸入字段中的內容。我打算使用.bind()方法,但它似乎沒有註冊我的按鍵。我嘗試了多種方式,看起來如果他們是鍵盤相關的,他們不工作。Python/Tkinter:如何讓.bind()方法使用鍵盤鍵?

self.frame.bind("<Return>", self.testevent) #Doesn't Work 
self.frame.bind("<Enter>", self.testevent) #Works 
self.frame.bind("<Button-1>", self.testevent) #Works 
self.frame.bind("<F1>", self.testevent)  #Doesn't work 

編譯腳本時沒有彈出的錯誤。我環顧四周,一直無法找到答案。

編輯:我的一句話是混亂的。

回答

3

看來你必須先撥打self.frame.focus_set()

+0

不一定是「第一」,就在某個時候。默認情況下,框架沒有鍵盤焦點。 –

-1

我試着做這樣的事情,它沒有奏效。只需使用tk.bind()或root.bind()(取決於Tk()的名稱)。但是如果你已經有了一個類似於你的Tk()的鍵盤綁定,你可以按照self.frame.focus_set()方法。

+0

綁定到根窗口具有與綁定到特定框架不同的效果。問題不是綁定,問題是幀沒有鍵盤焦點,除非你明確地給它們。 –