Tkinter:将按钮放置在动态创建框架中

时间:2017-07-05 12:39:27

标签: python user-interface tkinter

大家好!我只是学习python GUI,我无法弄清楚我做错了什么。 我正在尝试绘制一个按钮树。我在框架中创建了第一个按钮,然后当我单击它时,我希望在父框架中放置两个框架,在这些新框架中放置另外两个按钮,依此类推。但是当我在第二次迭代时单击按钮时,它会将新帧添加到按钮的帧中,而不是在创建的最后一个帧中。

from Tkinter import *
class my_class():

def __init__(self,frame):
    self.frame=frame
def create_frames(self):
    Frames=[]
    p=2
    for k in range(p):

        New_frame=Frame(self.frame, highlightbackground="green", highlightcolor="green", highlightthickness=1,
                          width=100, height=100, bd=0)

        New_frame.pack(side=LEFT)
        Frames.append(New_frame)
        obj=my_class(Frames[k])
        but=Button(obj.frame, text='but', command=lambda:obj.create_frames())
        but.pack()


my_app=Tk()
obj=my_class(my_app)
but=Button(my_app,text='butt',command=lambda:obj.create_frames())
but.pack()
my_app.mainloop()

1-iteration

2-iteration (I pressed the first button)

0 个答案:

没有答案