TreeView 的滚动条 - Python

Scrollbar for TreeView - Python

我一直在尝试为 Python 中的 tkinter 树视图附加一个垂直滚动条。 由于某种原因,它显示在 TreeView 下而不是右侧。

screenshot

TreeView 在框架中

fFetchActivity = LabelFrame(root, text="Spis Twoich Aktywności", padx=50, pady=15)
fFetchActivity.place(x=20, y=200)

以及 TreeView 和 Scrollbar 代码:

tv1 = ttk.Treeview(fFetchActivity)
tv1.pack()
scrollbar_object = Scrollbar(fFetchActivity, orient="vertical")
scrollbar_object.pack(side=RIGHT, fill=Y)
scrollbar_object.config(command=tv1.yview)
tv1.configure(yscrollcommand=scrollbar_object.set)

有没有人对如何改进这个有任何想法? 谢谢!

pack 的默认设置是将小部件放置在未分配 space 的顶部。因此,当您执行 tv1.pack() 时,tv1 被放置在 window 的顶部。 pack 的另一个方面是,当一个小部件沿着一条边放置时,它会被分配到整条边上。例如,一旦小部件沿顶部放置,就不可能将某些东西放在右侧或左侧,因为小部件被分配了整个顶部边缘。

如果您希望一个小部件位于另一个小部件的右侧,您应该首先对该项目调用 pack,以便它被分配到整个右侧。然后,您可以根据需要在剩余的 space.

中打包其他小部件

在您的情况下,这通常是您使用 pack 执行此操作的方式,以使树视图尽可能多地占据 space,并使滚动条位于右侧。

scrollbar_object.pack(side="right", fill="y")
tv1.pack(side='left', fill="both", expand=True)