【发布时间】:2020-08-18 02:26:25
【问题描述】:
我的 GUI 中只有一帧,它会根据窗口大小调整自己的大小。框架有一个子标签,我希望标签始终是框架高度的 1/3 和框架宽度的 1/1.5。下面的代码尝试这样做,但标签总是将自身调整为框架的大小。
import tkinter
tk = tkinter.Tk()
tk.geometry("400x400")
f = tkinter.Frame(tk, bd=5, bg="white")
f.pack(padx=10, pady=10)
def callback(event):
f.config(height=tk.winfo_height(), width=tk.winfo_width())
l.config(width=int(f.winfo_width()/1.5), height=int(f.winfo_height()/3))
l = tkinter.Label(f, text="lead me lord", bg="yellow", relief=tkinter.RAISED, bd=5)
l.pack(side="bottom")
tk.bind("<Configure>", callback)
tk.mainloop()
【问题讨论】:
-
这个标签是框架中唯一的东西,而框架是窗口中唯一的东西吗?通常,如果它是唯一的小部件与有许多其他小部件时,布局单个标签的方式会有所不同。我们可以告诉您如何实现您想要的,但是如果您计划添加其他小部件,那么除非我们知道窗口的总体计划,否则它可能只会产生其他问题。
标签: python tkinter tkinter-layout