用wxPython实现折叠面板

许多IM软件登录界面如图图1所示,点击“服务器设置”按钮,面板展开,服务器部分显示出来,如图2所示;再点击“服务器设置”按钮,面板折叠,服务器部分隐藏起来,回到图1。

下面介绍一下如何用wxPython实现这种效果。使用wxPython实现这种效果,关键是使用wx.BoxSizer管理整个面板,然后使用wx.BoxSizer类的Hide()、Show()方法将相应的控件隐藏或者显示出来.

def OnTouch(self, event):  
    if self.isShown:    #如果当前控件已显示  
        self.setserverBtn.SetLabel(u'服务器设置↓')    #更新按钮标签  
        self.sizer.Hide(self.sbsizer)    #隐藏服务器设置部分  
        self.isShown = False    #服务器设置部分当前已隐藏  
        self.SetClientSize((330,118))    #更新面板尺寸  
    else:  
        self.sizer.Show(self.sbsizer)    #如果当前控件已隐藏  
        self.setserverBtn.SetLabel(u'服务器设置↑')    #更新按钮标签  
        self.isShown = True    #服务器设置部分当前已显示  
        self.SetClientSize((330,200))    #更新面板尺寸  
    self.sizer.Layout()    #关键所在,强制sizer重新计算并布局sizer中的控件

代码中的self.sbsizer是用来管理服务器设置部分的StaticBoxSizer。从以上代码可以总结出实现面板折叠与展开的方法如下:

1. 使用BoxSizer管理控件布局;  
2. 使用Hide()/Show()函数将控件隐藏/显示;  
3. 更新面
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值