【问题标题】:Resize Tkinter listbox when window resizes with Grid使用 Grid 调整窗口大小时调整 Tkinter 列表框的大小
【发布时间】:2012-08-21 01:32:51
【问题描述】:

我正在使用 Grid 几何管理器开发一个 Tkinter 应用程序(这是我第一次使用 Grid,我喜欢它!:D),它包含一个滚动列表框,当用户选择一个选项时,它会显示选项。

它运行良好,但窗口又小又丑。当我最大化它时,其他一切都可以很好地调整大小(感谢 columnconfigure),但列表框保持相同的高度。有没有简单的方法来解决这个问题?

(我见过 this question,但它是用于 Pack,而不是 Grid)

提前致谢。

代码示例,因为有人要求:

self.tasklist = Listbox(self.frame, exportselection=0)
self.tasklist.grid(row=1, sticky=W+E+N+S)
yscroll = Scrollbar(self.frame, command=self.tasklist.yview, orient=VERTICAL)
yscroll.grid(row=1, column=1, sticky=N+S)

【问题讨论】:

  • 我们可以看看代码示例吗?
  • @JoelCornett 好的,我加了一个
  • 甜蜜。框架是否也 stickyed 到它的父窗口?
  • @JoelCornett 实际上,self.frame 是传递给类的 root。它应该是一个实际的框架而不是窗口吗?

标签: python tkinter


【解决方案1】:

没有看到更多的代码是不可能的。很可能您的列表框正在正确扩展,但您的 self.frame 不是。不过,我没有看到您对列表框所在的行和列给予任何重视,所以这可能是一个因素。

调试此问题的一种简单方法是为self.frame 提供一种会突出的花哨颜色(红色、亮绿色等)。然后很容易看出列表框是否在框架内正确调整大小,以及框架是否在其父框架内正确调整大小。

【讨论】:

    猜你喜欢
    • 2011-05-18
    • 1970-01-01
    • 2017-11-18
    • 2018-03-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    相关资源
    最近更新 更多