问题的原因是标签的子框架使用了相对于父框架的绝对布局,所以当父框架的大小更改时,子框架的位置不会自适应调整。
解决方法是将子框架的布局改为相对于父框架的相对布局。具体方法是使用grid()方法来设置标签和子框架的布局,使子框架相对于标签进行相对布局。示例如下:
import tkinter as tk
root = tk.Tk()
label = tk.Label(root, text="Hello World!", bg="red") label.grid(row=0, column=0)
frame = tk.Frame(label, width=100, height=100, bg="blue") frame.grid(row=0, column=0)
root.mainloop()
在这个示例中,标签和子框架的布局都使用了grid()方法,并且子框架相对于标签进行相对布局。当标签的背景色发生变化时,子框架的位置也会自适应调整,而不需要调整窗口大小。
下一篇:标签的侧边箱线图比较