Я не могу сделать виджет Treeview на Tkinter заполнить весь столбец. Я попробовал это, используя настройку столбца с весом, но он не работает. Когда я запускаю его, дерево отображает его, как приведено в ссылке на картинку. Как я могу заставить Treeview отобразить каталоги, которые заполняют окно прямо вниз. < /p>
class dir_tree(object):
def __init__(self, master, path):
self.nodes = dict()
frame = tk.Frame(master)
self.tree = ttk.Treeview(frame)
ysb = ttk.Scrollbar(frame, orient='vertical', command=self.tree.yview)
xsb = ttk.Scrollbar(frame,orient='horizontal',command=self.tree.xview)
self.tree.configure( xscroll=master.winfo_screenheight())
self.tree.heading('#0', text='Manga Directory', anchor='w')
self.tree.grid(column = 0, sticky = 'ns')
ysb.grid(row=0, column=1, sticky='ns')
xsb.grid(row=1, column=0, sticky='ew')
frame.grid(column = 0, sticky = 'ns')
self.tree.columnconfigure(0, weight=1)
abspath = os.path.abspath('/home/user/Desktop/')
self.insert_node('', abspath, abspath)
self.tree.bind('', self.open_node)
def insert_node(self, parent, text, abspath):
node = self.tree.insert(parent, 'end', text=text, open=False)
if os.path.isdir(abspath):
self.nodes[node] = abspath
self.tree.insert(node, 'end')
def open_node(self, event):
node = self.tree.focus()
abspath = self.nodes.pop(node, None)
if abspath:
self.tree.delete(self.tree.get_children(node))
for p in os.listdir(abspath):
self.insert_node(node, p, os.path.join(abspath, p))
if __name__ == "__main__":
dirr = dir_tree(root, path='/home/user/Desktop/')
< /code>
image < /p>
Как я могу сделать версический Scrollbar заполняет все окно влево, а не показывают, как только что показано, а не только что показано, а не только что показано, чем только показано, чем только что показано?>
Подробнее здесь: https://stackoverflow.com/questions/487 ... dow-height
Python Tkinter Treeview: размер столбца не расширяется до высоты окна ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение