首页 > 解决方案 > 扩展的树视图层次结构在 tkinter 中从框架中删除

问题描述

我有一个使用此代码的 Treeview 层次结构

from tkinter import *
from tkinter import ttk

root = Tk()
root.rowconfigure(0,weight=1)
root.columnconfigure(0,weight=1)

display = Frame(root,highlightthickness=2,width=50,height=50)
display.config(highlightbackground='blue',highlightcolor='blue')
display.grid(row=0,column=0,sticky='nsew')
display.rowconfigure(0,weight=1)
display.columnconfigure(0,weight=1)

tree_frame = Frame(display,highlightthickness=2,width=50,height=50)
tree_frame.config(highlightbackground='green',highlightcolor='green')
tree_frame.grid(row=0,column=0,sticky='nsew')
tree_frame.rowconfigure(0,weight=1)
tree_frame.columnconfigure(0, weight=1)

tree_view = ttk.Treeview(tree_frame)
tree_view.grid(row=0,column=0,sticky='nsew')
tree_view.rowconfigure(0,weight=1)
tree_view.columnconfigure(0,weight=1)

path = 'test_tree'
tree_view.insert('',0, path,text ='test_tree')
tree_view.insert(path,0,(path +"file.py"),text ='some_file_that_is_very_long_and_it_cuts_out_of_frame')
tree_view.insert(path,1,(path +"/test"),text ='test1')
tree_view.insert(path,2,(path + "/test2"),text='test2')
tree_view.insert(path,3,(path + "/test3"),text='test3')
    
root.mainloop()

问题是当您展开目录时,子目录项将被切断,如下所示:

结果

如何使子目录文本随框架自动扩展?

目前,您必须手动调整窗口大小以显示文本,但我希望自动完成。

期望的输出

标签: pythontkintertreeviewtkinter-layout

解决方案


推荐阅读