在Tkinter中为一组小部件添加滚动条

7 浏览
0 Comments

在Tkinter中为一组小部件添加滚动条

我正在使用Python解析日志文件中的条目,并使用Tkinter显示条目内容,到目前为止效果非常好。输出是一组标签小部件的网格,但有时行数超过屏幕可显示的数量。我想添加一个滚动条,看起来应该很容易,但我无法弄清楚如何做到。

文档暗示只有List、Textbox、Canvas和Entry小部件支持滚动条接口。但这些都似乎不适合显示一组小部件的网格。虽然可以将任意小部件放入Canvas小部件中,但似乎必须使用绝对坐标,因此无法使用网格布局管理器?

我已经尝试将小部件网格放入一个Frame中,但似乎该Frame不支持滚动条接口,所以这种方法行不通:

mainframe = Frame(root, yscrollcommand=scrollbar.set)

有人能提供一个绕过这个限制的方法吗?我不愿意为了添加一个滚动条就不得不改用PyQt,并增加可执行文件的大小!

0