因此,在我正在編碼的程序中,我將鍵盤上的Enter鍵綁定到函數。在這個函數中,光標應該移動到條目窗口小部件中文本的末尾。因此,例如,如果用戶在入口窗口小部件中有122 | 57(|是光標),那麼我希望此光標移動到末尾以給出12257 |。我試圖達到這個目標導致了一個錯誤。所以,下面是我一起工作的代碼:Python - 使用綁定鍵移動Tkinter中的條目光標
from tkinter import *
class Calc:
def __init__(self,parent):
self.displayentry = StringVar()
self.display=Entry(parent, textvariable=self.displayentry)
self.display.pack()
def equal_input(self):
self.display.icursor(len(self.displayentry))
root = Tk()
RunGUI=Calc(root)
root.bind('<Return>', Calc.equal_input)
root.mainloop()
我得到一個錯誤,當我按下回車鍵,上面寫着:「AttributeError錯誤:‘事件’對象有沒有屬性‘顯示器’」
任何幫助將不勝感激。由於
什麼是真正錯從類(除了他應該用'RunGUI.equal_input',而不是'Calc.equal_input')以外的約束力? – fhdrsdg
@fhdrsdg - 有趣。我從來沒有見過這樣做,但它的工作原理。儘管如此,我無法弄清楚如何將事件綁定到'Calc'實例中的特定窗口小部件。這是如何完成的? – TigerhawkT3
好吧,'RunGUI'只是'Calc'的一個實例,所以通過'RunGUI'你可以訪問'Calc'中'self'的任何東西。爲了只綁定到這個特定'Calc'實例的入口控件,你可以簡單地使用'RunGUI.display.bind('',RunGUI.equal_input)'。但是,如果您創建另一個'Calc'的實例,除非您專門添加它,否則它不會具有此綁定。 –
fhdrsdg