Tkinter框架在具有类似打包参数的情况下无法平均展开

时间:2019-07-27 17:24:26

标签: python-3.x tkinter

我正在尝试使用tkinter构建UI,该UI使用2帧将窗口分为2个部分,但是我无法使它们的宽度相等。

布局的粗略可视化: Rough visualisation of layout

我最初的方法是让1帧的侧面=左,而1帧的侧面=右,并且两帧都将具有fill = BOTH并展开= YES。当框架为空时,此方法效果很好,但是在向其添加小部件时,左侧框架变得比右侧框架宽。

左框架为红色,右框架为蓝色,表现正常: Left frame is red and right frame is blue, behaves as expected.

不再起作用(相同包装): No longer works (same packing)

使用的代码(无菜单栏):

from tkinter import *
master = Tk()
master.geometry("500x500")

lframe = Frame(bg = 'red', relief = "raised", bd = 2)
rframe = Frame(bg = 'blue',relief = "raised", bd = 2)

# Set up for left frame
password_options = Listbox(lframe)
password_options.pack(side = "left", fill = 'both', expand = 1)

password_scrollbar = Scrollbar(lframe)
password_scrollbar.pack(side = 'left', anchor = 'w', fill = 'y', expand = 1)

# Set up for right frame
b = Button(rframe, text = "TEST")
b.pack(expand = 1, fill = 'both')

lframe.pack(side = "left", fill = "both", expand = 1)
rframe.pack(side = "right", fill = "both", expand = 1)
master.mainloop()

我认为添加小部件后框架的宽度仍将相等,但似乎不一样。是什么原因导致这种行为?

0 个答案:

没有答案