【问题标题】:How to pack widgets inside a frame in Tkinter one above the another when looping?循环时如何将小部件打包在Tkinter中的一个框架内?
【发布时间】:2022-01-23 11:10:30
【问题描述】:

我正在遍历主框架,并添加带有文本的新框架,但默认情况下它会添加到前一框架的底部。

f3=Frame(wf).pack()

nf=Frame(f3, border=2, relief=SOLID)
nf.pack(pady=5, padx=80)
for i in l:
    text=Label(nf, text=i, pady=5)
    text.pack()

在这里,我希望将 nf(新帧)添加到之前的 nf 之上。

完整代码链接:https://github.com/Tashyab/python-workshop/blob/master/Tkinter/newspaper.py

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    您可以使用.pack()before 选项。

    下面是一个例子:

    f3 = Frame(wf)
    f3.pack()
    
    nf = None
    
    def new_frame():
        global nf
    
        f = Frame(f3, bd=2, relief=SOLID)
        f.pack(before=nf, pady=5, padx=80) # pack before previous frame
        nf = f
    
        for i in l:
            Label(nf, text=i, pady=5).pack()
    

    【讨论】:

    • 谢谢,现在可以使用了。
    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-22
    相关资源
    最近更新 更多