【发布时间】:2020-08-15 18:19:48
【问题描述】:
我在根目录中有 2 个框架,分别称为“header_frame”和“activity_frame”,它们都在同一列中,即“column=0”。我希望两个框架都可以调整大小,与其根父级填充所有空白空间,如下所示:
我已经尝试了所有网格配置的可能性,包括在“root”上设置“rowconfigure”,将activity_frame 设置在header_frame 的“North”上,最后但并非最不重要的一点是,我还尝试将header_frame 设置在南方,这是结果我不想要,因为这些框架共享相同的大小(我希望 header_frame 具有 'maxsize' 属性,但遗憾的是它没有)。所以这是我尝试过的代码:
self.root = root
self.column = ""
self.search = ""
self.root.minsize(500,480)
self.comboboxValue = None
self.root.title("CUCI (CSV Unique Column Identifier)")
self.root.configure(background="powder blue")
self.root.grid_columnconfigure(0,weight=1)
self.root.grid_rowconfigure(0,weight=1)
self.root.grid_rowconfigure(1,weight=1)
#header frame
self.header_frame = tk.Frame(self.root)
self.header_frame.grid(row=0, column=0,sticky="NEW")
self.header_frame.grid_columnconfigure(0,weight=1)
self.header_frame.grid_rowconfigure(0,weight=1)
self.header_frame.configure(background="grey")
#activity Frame
self.activity_frame = tk.Frame(self.root)
self.activity_frame.grid(row=1, column=0,sticky="NEWS")
self.activity_frame.grid_columnconfigure(0,weight=1)
self.activity_frame.grid_rowconfigure(0,weight=1)
self.activity_frame.configure(background="grey",pady=1)
关键是我想用activity_frame填充那些空白空间,以便粘贴在'header_frame'上。请我不希望使用pack(self.activity_frame.pack(fill = tk.X))。我只想使用网格,因为它易于使用
【问题讨论】:
-
我也尝试过使用 self.header_frame.grid_propagate(0)。但没有运气
-
调用
grid_propagate(0)几乎从来都不是正确的解决方案。
标签: python-3.x user-interface tkinter window tkinter-layout