我的问题是关于Python 2.7 tkinter。困难在于将所有按钮放在一个窗口中,现在它打开2个窗口,一个窗口具有我定义的尺寸,一个窗口具有没有定义尺寸的所有按钮。
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()
答案 0 :(得分:1)
Tkinter只需要Tk()
的一个实例来启动tkinter应用程序和mainloop()
的一个实例来管理更新循环。
如果您不止一次致电Tk()
,您将遇到多个窗口和事情无法正常工作的问题。
如果您确实需要第二个或更多窗口,则需要使用Toplevel()
来创建它们。
如果删除:
top = Tk()
并改变:
app = Calculator(top)
为:
app = Calculator(master)
您将按照预期在一个窗口中包含所有内容。