定位Tkinter复杂网格



我正在用Tkinter进行一些测试,我试图提高复杂性,但它不起作用:

from tkinter import *
root = Tk()
frame1 = Frame(root, bg='blue',width=200,height=200)
frame1.grid(column=0,row=0, sticky="news")
frame1.grid_propagate(0)
frame4 = Frame(frame1, bg='yellow',width=100,height=100)
frame4.grid(column=0,row=0,sticky="news")
frame4.grid_propagate(0)
frame5 = Frame(frame4, bg='orange',width=20,height=20)
frame5.grid(column=0,row=0,sticky="news")
frame6 = Frame(frame4, bg='pink',width=20,height=20)
frame6.grid(column=0,row=1,sticky="news")
frame7 = Frame(frame4, bg='red',width=20,height=20)
frame7.grid(column=0,row=4,sticky="news")
root.mainloop()

为什么框架7不在第4行而是在第3行?

frame7在第4行。由于第2行和第3行为空,因此显示在不同的行中。空行的高度为零。

如果你不在一个框架中放任何东西,它的大小就是零。因此,你在第3行看不到任何东西。

试着把一些东西放在第3行,它就会出现:

frame6a = Frame(frame4, bg='black',width=20,height=20)
frame6a.grid(column=0,row=3,sticky="news")

最新更新