我的问题是关于Python 2.7 Tkinter的。困难在于让所有的按钮在一个窗口,现在它打开两个窗口,一个窗口,我定义的大小,和一个与所有的按钮没有定义的大小。
from Tkinter import *
master = Tk()
class Calculator:
def __init__(self,master):
self.var = IntVar()
frame = Frame(master)
frame.grid()
f2 = Frame(master,width=500,height=500)
f2.grid(row=0,column=1)
def callback():
print("Hello World")
b = Button(master, text="Calc", command=callback)
b.grid()
e = Entry(master, width=10)
e.grid()
e.focus_set()
b1 = Button(master, text = "Ok", width=10, command = callback)
b1.grid(row=20, column=30)
top = Tk()
app = Calculator(top)
mainloop()
Tkinter的要求Tk()
的只有一个实例启动Tkinter的应用程序,并mainloop()
的一个实例来管理更新循环。
如果您致电Tk()
超过一次,你会碰到有多个窗口,事情没有工作,只要你想的问题更多。
如果你碰巧需要一个第二个或更多的窗口,那么你将需要使用Toplevel()
来创建它们。
如果删除:
top = Tk()
和更改:
app = Calculator(top)
至:
app = Calculator(master)
如预期,你将有一个窗口的一切。