【问题标题】:ttk.Separator appearing as dot "." when using .pack() layout managerttk.Separator 显示为点“。”使用 .pack() 布局管理器时
【发布时间】:2016-09-07 06:14:39
【问题描述】:

我的问题类似于this one,但我使用的是布局管理器pack 而不是grid,因此备用线程中的答案对我不起作用。

代码:

    iconLabelImage = ttk.Label(labelFrame)
    self.iconImage = PhotoImage(file='images\icon.png')
    iconLabelImage['image'] = self.iconImage
    iconLabelImage.pack(anchor='w')   

    sep = ttk.Separator(parameterFrame, orient=VERTICAL)
    sep.pack(side="right", fill="y")

LabelFrameparameterFrame 的子代。

无论我更改什么参数,我似乎都无法让分隔符扩展超过一个像素,即使它存在于更大的框架中。

有什么想法吗?

【问题讨论】:

  • 添加expand=True
  • 第一步应该始终是阅读文档。 pack 有几个选项用于定义小部件如何填充给它的空间。

标签: python python-3.x tkinter separator ttk


【解决方案1】:

其实这个想法和你上面提供的question是一样的。这意味着:

扩展选项告诉管理员为小部件框分配额外的空间。如果父小部件的大小超过了容纳所有打包小部件所需的大小,则任何超出的空间都将分配给所有扩展选项设置为非零值的小部件。
-effbot

您应该关注的重点是:非零值/权重
所以要解决这个问题,使用pack 方法添加expand=True 选项。

【讨论】:

  • 我在发布问题之前尝试了这个附加参数。它不会改变行的长度:(
  • 这不是您要找的吗?
  • 是的,这正是我想要的,但它不适用于我的。你能发布你的代码来仔细检查我没有遗漏什么吗?
  • 啊,可能是因为你把ttk.Separator放在了Frame小部件中(作为一个容器)...
  • 是的,我认为原因是这样的。因为这个 LoC,我很有信心:sep = ttk.Separator(parameterFrame, orient=VERTICAL)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-07
  • 2015-08-03
  • 2010-09-12
  • 2018-06-12
相关资源
最近更新 更多