我正在用tkinter和python编写一个简单的gui。代码如下:
from tkinter import *
class migrate_tk(Tk):
def __init__(self, parent):
Tk.__init__(self, parent)
self.geometry("400x400")
self.parent = parent
self.initialize()
def initialize(self):
self.grid()
self.entry = Entry(self)
self.entry.grid(column=0, row=0, sticky='EW')
#~ self.entry.focus_set()
self.entry.bind("<Return>", self.OnPressEnter)
#~ self.bind('<Return>', self.OnPressEnter)
label = Label(self, anchor="w", fg="white", bg="blue")
label.grid(column=0, row=1, columnspan=2, sticky="EW")
self.grid_columnconfigure(0, weight=1)
self.resizable(True, False)
def OnPressEnter(self,event):
print ("You pressed enter")
if self.label["bg"] == "blue":
self.label["bg"] = "yellow"
else: self.label["bg"] = "blue"
if __name__ == "__main__":
app = migrate_tk(None)
app.title('app')
app.mainloop()
问题是按回车键,它不打印任何东西(很明显,我把它运行到一个终端上) 谢谢!在
你可能会遇到的问题是:
原因是: 必须在声明
^{pr2}$label
时执行此操作:在下面,您使用label作为类
migrate_tk
的实例,但在声明它时不是这样enter小部件不会自动获得焦点,因此当您在没有选择小部件的情况下按enter时,它不会做任何事情。在
您需要做的是取消对代码的注释:
在那之后它会正常工作的。在
相关问题 更多 >
编程相关推荐