wxpython的SplitterWindow的使用

本文介绍了一种在wxPython中使用SplitterWindow组件进行界面布局的方法,详细展示了如何将SplitterWindow直接放置在窗体中,而不使用额外的Panel。通过垂直分割窗口并结合ListBox和StaticText控件,实现了简单的事件绑定和数据展示功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SplitterWindow直接放在窗体里面,不放panel里面

import wx
class MyFrame(wx.Frame):
    eve = 0

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

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

        list2 = ['shanghai','beijin']
        lb2=wx.ListBox(leftpanel,-1,choices = list2,style = wx.LB_SINGLE)
        self.Bind(wx.EVT_LISTBOX,self.on_listbox,lb2)

        vbox1 = wx.BoxSizer(wx.VERTICAL)
        vbox1.Add(lb2,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)
        leftpanel.SetSizer(vbox2)

    def on_listbox(self,event):
        s = '选择'+event.GetString()
        self.content.SetLabel(s)



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()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值