【问题标题】:Tkinter percentage sizes?Tkinter 百分比大小?
【发布时间】:2018-01-05 02:10:23
【问题描述】:

我正在尝试使用 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”中处理的两个按钮。但我希望这个设计能够响应,这就是为什么我将 expand 设置为“YES”。但是我想为“self.frame”设置一个最大尺寸,但我发现的唯一方法是将这个框架打包到另一个框架(“self.maxsizeFrame”)中,并将这个框架设置为“NO”。最后,我想将最大展开大小设置为主窗口的一半,所以如果“self.maxsizeframe”的高度可以是百分比,那就太好了。感谢阅读。

编辑 2: 实际上,使用网格布局构建软件似乎更有效,并且权重的选项会准确。

【问题讨论】:

  • 有很多方法,但我们需要更多细节。使用百分比大小是不寻常的。您想为每个小部件执行此操作,还是只为一个小部件执行此操作?您想使用哪个或哪些小部件?你能创建一个简单的minimal reproducible example吗?

标签: python tkinter


【解决方案1】:

虽然它取决于小部件,但您应该能够做到width=30% 和高度相同。您能否编辑您的帖子,说明您正在使用哪个小部件。我不推荐百分比,因为它们有时会变得很时髦。

【讨论】:

  • % 符号不适用于宽度和高度,你能显示任何代码吗?
猜你喜欢
  • 1970-01-01
  • 2016-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
  • 2017-04-05
相关资源
最近更新 更多