如何在底部放置 ScrolledWindow (tkinter) 滚动条

How to position a ScrolledWindow (tkinter) scrollbar at the bottom

我正在 python 中使用 tkinter 创建一个图形用户界面。我创建了一个滚动条,这就是代码部分的样子:

beta_frame = Frame(width="500", height="680")
beta_frame.pack()
holder = ScrolledWindow(beta_frame, width=500, height=680)
holder.pack()
alpha_frame = holder.window

每次在屏幕上放新东西时我都想把这个滚动条放在最底部(这显然会被添加到底部我唯一添加到屏幕的是标签和按钮),尽管我不确定该怎么做,而且我到处都在搜索。我想出的只是方法 see,我不确定它是否适用于这种情况。任何帮助将不胜感激。

.see() 是让 Tkinter 自动滚动到给定位置的正常方法,但该方法仅存在于具有内置滚动支持的小部件上 - 列表框,Canvas 、文本和条目。 Tix ScrolledWindow 使普通的 Frame 可滚动,因此不存在这样的方法。

这行代码似乎可以满足您的要求:

holder.tk.eval(holder.vsb['command'] + " moveto 1.0")

vsb 是 ScrolledWindow 的垂直滚动条组件,'command' 是滚动条配置选项,指定位置改变时调用的回调。这将引用 Tix 内部的某些东西,但我们不关心它到底是什么;如果移动到最后,我们只需使用与滚动条本身相同的参数调用它。