在tkinter窗口上使用网格管理器时如何实现滚动条

时间:2014-01-13 07:21:00

标签: python user-interface grid tkinter scrollbar

我使用网格管理器方法在tkinter中构建了一个相当大的GUI。我需要在整个窗口中添加一个滚动条,我遇到了一些麻烦。这是使用Tkinter中的网格管理器的滚动条的非常粗略的版本(我不想滚动列表框,我想滚动整个Tk窗口)。

import Tkinter
from Tkinter import *

Tk = Tkinter.Tk
self=Tk()
listbox = Listbox(self, width = 10, height = 60)
listbox.grid(row =0, column=0)
scrollbar = Scrollbar(self)
scrollbar.grid(sticky=E, row = 0, rowspan = 100, column = 11, ipady = 1000)
mainloop()

是否可以修复Tkinter窗口大小(使用网格管理器)并添加滚动条,然后允许用户查看其他内容?窗口太大,需要查看其他内容,因此我看到的唯一选项是滚动条。我只看到使用pack方法的示例。你可能会猜到我是Tkinter的新手并且会感激任何输入。

提前感谢所有人。

1 个答案:

答案 0 :(得分:3)

您无法滚动根窗口,Toplevel窗口或框架的全部内容。解决方案是将所有小部件放在画布中,然后将滚动条添加到画布。本网站上有一些问题可以提供示例,例如Python Tkinter scrollbar for frame