我想创建一个可调整大小的窗口,并且当我调整窗口大小时,我希望其中的所有小部件都可以调整大小。
为此,我尝试使用grid()
并为小部件指定相对位置。
这是代码:
c = tk.Canvas(width=400, height=320)
c.grid(row=0, column=0, sticky='w')
Label(root, textvariable=balance_string_var).grid(row=1, column=0, sticky="we")
balance_string_var.set("LABEL")
listbox = Listbox(root, height=30, width=100)
listbox.grid(column=1, row=0, rowspan=2, sticky="e")
答案 0 :(得分:1)
请改用place .place(relx = 0,depend = 0.05,relheight = 0.03,relwidth = 1)!!使用0-1.0而不是像素来完全正确缩放它们,它比网格更灵活
或使用pack(side =“ right”)
答案 1 :(得分:1)
根据weight
的{{1}}选项的document:
weight =
用于在列之间分配额外空间的相对权重。 权重为2的列的增长速度将为权重为1的列的增长速度的两倍。 默认值为0,这意味着该列完全不会增长。
columnconfigure()
小部件放在listbox
的网格布局的第1列中,第1列是包含该小部件的最后一列,因此调用root
将使第1列使用全部剩余的水平空间。
因此在root.rowconfigure(1, weight=1)
中设置sticky='e'
会将listbox.grid(..., sticky='e')
放在listbox
窗口的最右边。