我搜索了如何获得输入,这应该工作,但它没有。。。 我不明白为什么它不起作用。。。它开始运行并卡在主环线上。。。什么也看不出来
from Tkinter import *
class GUI:
def __init__(self):
self.root = Tk()
self.label1 = Label(self.root, text="name")
self.label2 = Label(self.root, text="password")
self.entry1 = Entry(self.root)
self.entry2 = Entry(self.root, show="*")
self.button = Button(self.root, text="hello", command=self.printName)
self.button.pack()
self.label1.grid(row=0, sticky=W) # N, S, E, W
self.label2.grid(row=1, sticky=E)
self.entry1.grid(row=0, column=1)
self.entry2.grid(row=1, column=1)
self.c = Checkbutton(self.root, text="forgot my password")
self.c.grid(columnspan=2)
self.root.mainloop()
def printName(self):
print self.entry1.get()
hi = GUI()
问题是,对于共享同一父级的小部件,您同时使用
grid
和pack
。你不能那样做,你得选一个。你知道吗另外,要学究的话,你应该在
__init__
之外接受self.root.mainloop()
的召唤。原因是当它在内部时,对象永远不会完全创建,因为mainloop
在小部件被销毁之前不会返回。通常在创建根窗口的同一范围内调用mainloop
。你知道吗例如:
如果您不喜欢引用内部小部件,请给
GUI
一个类似start
或mainloop
的方法:相关问题 更多 >
编程相关推荐