【问题标题】:Scrollbar for TreeView - PythonTreeView 的滚动条 - Python
【发布时间】:2021-12-14 00:58:54
【问题描述】:

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

screenshot

TreeView 在框架中

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

以及 TreeView 和滚动条代码:

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)

有人对如何改进有任何想法吗? 谢谢!

【问题讨论】:

    标签: python tkinter treeview scrollbar


    【解决方案1】:

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

    如果您希望一个小部件位于另一个小部件的右侧,则应首先在该项目上调用pack,以便将其分配到整个右侧。然后,您可以在剩余空间中随意打包其他小部件。

    在您的情况下,这通常是您使用 pack 的方式,以使树视图占用尽可能多的空间,并使滚动条位于右侧。

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

    【讨论】:

    • 感谢您的解释,这非常有帮助并且有效:)
    猜你喜欢
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    相关资源
    最近更新 更多