I put my TreeCtrl into a Sizer but I can’t seem to set the width of the tree.
Any help appreciated.
import wx
import os
class MainFrame(wx.Frame):
def __init__(self, *args, **kw):
super(MainFrame, self).__init__(*args, **kw)
def traverse_directory_tree(parent, path):
global glist_tree_node_id
global glist_tree_filenames
gstr_show_folders = '0'
if gstr_show_folders == '1':
for folder_name in filter(os.path.isdir, os.listdir(os.getcwd())):
# full_path = os.path.join(path, d)
isdir = os.path.isdir(path)
if isdir:
if not folder_name.startswith('.'):
wx.tree.AppendItem(parent, folder_name)
for fn in os.listdir(path):
if fn.endswith('.py'):
if ".bak" in fn:
pass
else:
id2 = wx.tree.AppendItem(parent, fn)
def main():
app = wx.App()
win = MainFrame(None, title='Tree Demo')
win.SetPosition(wx.Point(900, 400))
wx.tree = wx.TreeCtrl(win, wx.ID_ANY)
default_path = r'C:\Users\jsmith\Documents'
root = wx.tree.AddRoot(default_path)
traverse_directory_tree(root, default_path)
wx.tree.ExpandAll()
sizer = wx.BoxSizer(wx.HORIZONTAL)
wx.tree.SetSize((300, 300))
sizer.Add(wx.tree, 0, wx.EXPAND)
win.SetSizer(sizer)
win.Show()
app.MainLoop()
if __name__ == '__main__':
main()