滚动 tkinter 框架或 window
Scroll through a tkinter frame or window
我正在创建一个 window,它会很长,我想要一个滚动条,以便能够在 window 中垂直滚动(这是一个设置 window) .我知道如何让滚动条垂直滚动文本小部件的内容,我尝试将其应用于此,但它不起作用:
from tkinter import *
root = Tk()
frame = Frame(root)
scroll = Scrollbar(root)
frame.pack(side = LEFT, fill = BOTH, expand = True)
scroll.pack(side = RIGHT)
frame.config(yscrollcommand = scroll.set)
scroll.config(command = frame.yview)
root.mainloop()
对于文本小部件,这工作正常,但是对于框架小部件,如上所述,它给了我一个错误,说框架没有名为 yscrollcommand
的属性。
有什么办法可以做到这一点吗?
我认为 Frames 不支持滚动(没有 .yview 方法。)您可以放置一个支持滚动的 canvas 代替框架或在框架内放置页面内容,并且得到你想要的滚动。
这是一个非常好的、全面的 tkinter 资源,详细介绍了所有小部件的功能和示例。
http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html
我正在创建一个 window,它会很长,我想要一个滚动条,以便能够在 window 中垂直滚动(这是一个设置 window) .我知道如何让滚动条垂直滚动文本小部件的内容,我尝试将其应用于此,但它不起作用:
from tkinter import *
root = Tk()
frame = Frame(root)
scroll = Scrollbar(root)
frame.pack(side = LEFT, fill = BOTH, expand = True)
scroll.pack(side = RIGHT)
frame.config(yscrollcommand = scroll.set)
scroll.config(command = frame.yview)
root.mainloop()
对于文本小部件,这工作正常,但是对于框架小部件,如上所述,它给了我一个错误,说框架没有名为 yscrollcommand
的属性。
有什么办法可以做到这一点吗?
我认为 Frames 不支持滚动(没有 .yview 方法。)您可以放置一个支持滚动的 canvas 代替框架或在框架内放置页面内容,并且得到你想要的滚动。
这是一个非常好的、全面的 tkinter 资源,详细介绍了所有小部件的功能和示例。 http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html