我已經閱讀了一些似乎正在處理這個問題的其他線程,但沒有一個給我修復。有問題的按鈕的代碼是:Tkinter <KP_Enter>綁定無響應
#equals button
cmd = lambda x='=': self.Click(x)
self.equals_button = Button(self.MasterFrame, text='=', width=12,
height=2, command=cmd)
self.equals_button.grid(row=4, column=3, columnspan=3, sticky=W+E+N+S,
ipadx=2, padx=2, pady=2)
self.equals_button.bind("<KP_Enter>", cmd)
我試着在代碼中,但無濟於事(沒有工作)不同階段的按鈕調用.focus_set()。此代碼出現在__init__
方法中。在此方法中,我在另一個必需的小部件實例上調用.focus_set()
。我也嘗試在主框架上調用此綁定,並在主框架和按鈕本身上同時調用focus_set。這一切都沒有幫助。我沒有收到任何錯誤消息。 當我用鼠標點擊它時,按鈕可以正常工作。它只是不響應按下KP_Enter。我希望它做到這一點。
綁定「」是否適用於其他窗口小部件?也許這個名字是錯誤的。你嘗試過「」嗎? –
Kevin
這可能是因爲當你綁定時,傳遞給你的lambda的第一個參數將是Event對象。也許你應該做'cmd = lambda事件,x ='=':self.Click(x)'。甚至只是'cmd = lambda事件:self.Click('=')'。 – Kevin