如何在底部放置 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 内部的某些东西,但我们不关心它到底是什么;如果移动到最后,我们只需使用与滚动条本身相同的参数调用它。
我正在 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 内部的某些东西,但我们不关心它到底是什么;如果移动到最后,我们只需使用与滚动条本身相同的参数调用它。