我正在使用网格管理器将每个标签框架设置为行和列,在我的代码运行后,中间的 2 帧不会显示为我在编码中设置的内容。我如何确保中间 2 帧出现在我的程序中,问候。
截图
from tkinter import *
class ConfigureUAinterface(Frame):
def __init__(self, master):
root.minsize(width=700, height=520)
root.maxsize(width=700, height=520)
Frame.__init__(self, master)
Grid.config(self)
#FramePackA:Configuration UA
self.framepackA = LabelFrame(master,width=200,height=520,background='red')
self.framepackA.grid(row=0,column=0,rowspan=1)
self.framepackA.grid_propagate(0)
#FramePackB:DateSelection
self.framepackB = LabelFrame(master,width=260,height=198,background='grey')
self.framepackB.grid(row=1,column=1)
self.framepackB.grid_propagate(0)
#FramePackC:Final Step
self.framepackC = LabelFrame(master,width=260,height=322,background='light blue')
self.framepackC.grid(row=2,column=1)
self.framepackC.grid_propagate(0)
#FramePackD:Case Suggestion for UA
self.framepackD = LabelFrame(master,width=240,height=520,background='dark violet')
self.framepackD.grid(row=0,column=2)
self.framepackC.grid_propagate(0)
root = Tk()
root.title("UA Configuration")
cuai= ConfigureUAinterface(root)
root.mainloop()
在 init 的前两行中,您将最大高度设置为 520。
第一行元素 (A、D) 的高度为 520。
无法显示第二行元素 (B),因为它超出了帧限制。
第三行元素 (D) 不受 self.framepackC.grid_propagate(0) 的影响。
建议
使用 grid_propagate(0) 没有错,但 grid_propagate(False) 会更具可读性。
将max_size增加到高度=1020 将使它们可见。