蟒Tkinter的移动按钮1个窗口代替2-

问题描述 投票:0回答:1

我的问题是关于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()
python python-2.7 user-interface tkinter
1个回答
1
投票

Tkinter的要求Tk()的只有一个实例启动Tkinter的应用程序,并mainloop()的一个实例来管理更新循环。

如果您致电Tk()超过一次,你会碰到有多个窗口,事情没有工作,只要你想的问题更多。

如果你碰巧需要一个第二个或更多的窗口,那么你将需要使用Toplevel()来创建它们。

如果删除:

top = Tk()

和更改:

app = Calculator(top)

至:

app = Calculator(master)

如预期,你将有一个窗口的一切。

© www.soinside.com 2019 - 2024. All rights reserved.