wxpython 高级窗口以及tree的运用

import wx
class MyFrame(wx.Frame):


    def __init__(self):
        super().__init__(parent=None,title="vbox",size=(700,700))   #继承wx.Frame类
        self.Center()

        splitter = wx.SplitterWindow(self,-1)
        leftpanel = wx.Panel(splitter)
        rigntpanel = wx.Panel(splitter)
        splitter.SplitVertically(leftpanel,rigntpanel,200)
        splitter.SetMinimumPaneSize(80)

        self.tree=self.CreateTreeCtrl(leftpanel)

        self.Bind(wx.EVT_TREE_SEL_CHANGING,self.on_listbox,self.tree)

        vbox1 = wx.BoxSizer(wx.VERTICAL)
        vbox1.Add(self.tree,1,flag=wx.ALL | wx.EXPAND,border=5)
        leftpanel.SetSizer(vbox1)

        vbox2 = wx.BoxSizer(wx.VERTICAL)
        self.content = wx.StaticText(rigntpanel,label='右侧面板')
        vbox2.Add(self.content, 1, flag=wx.ALL | wx.EXPAND, border=5)
        rigntpanel.SetSizer(vbox2)

    def on_listbox(self,event):
        item = event.GetItem()
        self.content.SetLabel(self.tree.GetItemText(item))



    def CreateTreeCtrl(self,parent):
        tree = wx.TreeCtrl(parent)
        imglist = wx.ImageList(16,16,True,2)
        imglist.Add(wx.ArtProvider.GetBitmap(wx.ART_FOLDER,size=wx.Size(16,16)))
        imglist.Add(wx.ArtProvider.GetBitmap(wx.ART_NORMAL_FILE,size=wx.Size(16,16)))

        tree.AssignImageList(imglist)
        items = []
        root = tree.AddRoot('TreeRoot',image=0)

        items.append(tree.AppendItem(root,'item 1',0))
        items.append(tree.AppendItem(root,'item 2',0))
        items.append(tree.AppendItem(root,'item 3',0))
        items.append(tree.AppendItem(root,'item 4',0))
        items.append(tree.AppendItem(root,'item 5',0))

        for i in range(len(items)):
            id = items[i]
            tree.AppendItem(id,'subitem 1',1)
            tree.AppendItem(id,'subitem 2',1)
            tree.AppendItem(id,'subitem 3',1)
            tree.AppendItem(id,'subitem 4',1)
            tree.AppendItem(id,'subitem 5',1)

        tree.Expand(root)
        tree.Expand(items[0])
        tree.Expand(items[3])
        tree.SelectItem(root)

        return tree

class App(wx.App):
    def OnInit(self):    #进入
        frame = MyFrame()
        frame.Show()
        return True
    def OnExit(self):   #退出
        print("tuichu")
        return 0

if __name__ == '__main__':
    app=App()
    app.MainLoop()

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值