[英]How to pack widgets inside a frame in Tkinter one above the another when looping?
I am looping through the main frame, and adding new frames with text inside it but it gets added to the bottom of the previous frame by default.我正在遍历主框架,并在其中添加带有文本的新框架,但默认情况下它被添加到前一框架的底部。
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()
Here, I want the nf (new frames) to get added above the previous nf.在这里,我希望将 nf(新帧)添加到之前的 nf 之上。
Link to whole code: https://github.com/Tashyab/python-workshop/blob/master/Tkinter/newspaper.py链接到整个代码: https://github.com/Tashyab/python-workshop/blob/master/Tkinter/newspaper.py
You can use before
option of .pack()
.您可以使用
.pack()
的before
选项。
Below is an example:下面是一个例子:
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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.