我正在尝试使用Tkinter模块和python构建一个小软件,但我无法弄清楚如何设置小部件大小而不是像素。我当然可以通过在每个时刻抓住整个窗口的大小并除以2得到50%的大小来实现它,但是有更好的方法来使用Tkinter模块吗?
编辑1:为了回答你的问题,我把我的代码放在这里:
class Navbar:
def __init__(self, master):
self.maxsizeFrame = Frame(master, height = 50) #maxsize handler, prevent self.frame to grow too big
self.maxsizeFrame.pack(fill = X, expand = NO)
self.frame = Frame(self.maxsizeFrame)
self.frame.pack(side = TOP, fill = BOTH, expand = YES)
self.masteries = Button(self.frame, text = "Masteries")
self.masteries.pack(side = LEFT, fill = BOTH, expand = YES)
self.runes = Button(self.frame, text = "Runes")
self.runes.pack(side = RIGHT, fill = BOTH, expand = YES)
所以我想在“self.frame”中创建一个带有两个按钮的导航栏。但是我希望这个设计能够响应,这就是为什么我将扩展设置为“YES”。但是我想为“self.frame”设置一个最大大小,但我发现的唯一方法是将这个帧打包到另一个(“self.maxsizeFrame”)并在这个上设置展开为“NO”。最后,我想将最大扩展大小设置为主窗口的一半,因此如果“self.maxsizeframe”的高度可以是百分比,那么它可能会很棒。谢谢你的阅读。
编辑2: 实际上,使用网格布局构建软件似乎更有效,并且权重的选项是准确的。
答案 0 :(得分:0)
虽然它取决于小部件,但您应该能够width=30%
并且与高度相同。你可以编辑你的帖子说你正在使用哪个小部件。我不会推荐百分比,因为它们有时会变得很时髦。