使用Grid调整窗口大小时调整Tkinter列表框的大小

时间:2012-08-26 02:11:06

标签: python tkinter

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

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

(我见过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)

1 个答案:

答案 0 :(得分:4)

如果没有看到更多代码,就无法说出来。您的列表框很可能正在正常展开,但您的self.frame却没有。虽然,我没有看到你对列表框所在的行和列赋予任何权重,因此这可能是一个因素。

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