【发布时间】:2023-03-08 10:57:01
【问题描述】:
我正处于构建程序的初始阶段,我可以从 TreeView 中获取项目并将它们移动到列表框中。我在 Treeview 和 listbox 中都添加了滚动条,这样当它们变长时,我可以滚动查看内容。目前,我在 Treeview 中填充的项目超出了窗口所能容纳的范围。我可以使用鼠标滚轮滚动 Treeview,但是当我单击并拖动滚动条上的框时,滚动条不会移动。我正在使用 Python 3.7。我可以使用一些帮助来弄清楚发生了什么。
import tkinter as tk
from tkinter import ttk
import l5x
root = tk.Tk()
root.geometry("600x400")
root.resizable(False, False)
root.title("TreeView Example")
tree_frame = ttk.Frame(root)
list_frame = ttk.Frame(root)
tree = ttk.Treeview(tree_frame)
tree_scroll = ttk.Scrollbar(tree_frame,orient="vertical",command=tree.yview())
tree.configure(yscrollcommand=tree_scroll.set)
listbox = tk.Listbox(tree_frame)
list_scroll = ttk.Scrollbar(tree_frame,orient="vertical",command=listbox.yview())
listbox.configure(yscrollcommand=list_scroll.set)
tree_frame.columnconfigure(0, weight=1)
tree_frame.columnconfigure(1, weight=1)
tree_frame.columnconfigure(2, weight=1)
tree_frame.columnconfigure(3, weight=1)
for i in range(0,20):
tree.insert('','end',i,text="blah")
tree_frame.grid(row=0,column=0,sticky="NSEW")
tree.grid(row=0,column=0,sticky="NSEW")
tree_scroll.grid(row=0,column=1,sticky="NS")
listbox.grid(row=0,column=2,sticky="NSEW")
list_scroll.grid(row=0,column=3,sticky="NS")
root.mainloop()
【问题讨论】:
标签: python-3.x tkinter treeview