分类目录

链接

友情链接

统计信息

  • 日志总数:116篇
  • 评论总数:185条
  • 分类总数:11个
  • 标签总数:391个
  • 友情链接:0个
  • 网站运行:3288天

2019年十二月
« 10月    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
>
现在位置:    首页 > python学习笔记 > 正文

wxPython BoxSizer灵活布局之使用panel之间的嵌套达到任何你想要的布局

python学习笔记 暂无评论

wxPython 的布局非常之的灵活,wypython也提供了多种的布局方式:

wx.BoxSizer()      #最灵活的布局 主要用在程序大体布局上。

wx.GridBagSizer()   #这个是wx.FlexGridSizer 的升级版,它可以做到HTML的表格一样,可以合并单元格等,相对表格,它有着更高的操作性


wx.FlexGridSizer()   #这个专门做一些二维表 。一般行 列都相对整齐的 表格

GridBagSizer,FlexGridSizer的使用方法相对简单,一般都是处理一些表格数据或群控件(比如计算器的数字控件啊 类似这样的)。

所以这次我们主要做的一个是程序的布局例子 ,里面用了简单的panel嵌套,达到布局的结果;代码如下:

#!/usr/bin/evn python
#coding=utf-8

import wx

class Frame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self,parent=None,id=-1,title=u"程序布局",size=(500,300));

        #创建panel
        Lpanel  = wx.Panel(self,-1,size=(300,300))
        Rpanel =wx.Panel(self,-1,size=(200,300))

        RTpanel = wx.Panel(Rpanel,-1,size=(200,150))
        RBpanel = wx.Panel(Rpanel,-1,size=(200,150))

        #为了方便区分 我把所有的panel着色不同的色

        Lpanel.SetBackgroundColour("red")
        Rpanel.SetBackgroundColour("blue")
        RTpanel.SetBackgroundColour("gray")
        RBpanel.SetBackgroundColour("pink")
        #创建一个水平的boxsizer
        box = wx.BoxSizer(wx.HORIZONTAL)
        #创建一个垂直的boxsizer
        hbox = wx.BoxSizer(wx.VERTICAL)

        #把Lpanel  Rpanel 两个panel 添加到boxsizer布局中
        box.Add(Lpanel,1,wx.EXPAND)   #注 第二个参数是一个整形。0表示不允许Lpnanel 随窗口变化。大于0是允许变化 ,第三个参数是扩展的常量
        box.Add(Rpanel,0,wx.EXPAND)

        hbox.Add(RTpanel,0,wx.EXPAND)
        hbox.Add(RBpanel,1,wx.EXPAND)

        #把水平boxsizer添加到   self(当前的FRAME)
        self.SetSizer(box)
        #再把垂直boxsizer 添加到 ,Rpanel 上
        Rpanel.SetSizer(hbox)


    pass



if __name__ == "__main__":
    app = wx.PySimpleApp()
    frame = Frame()
    frame.Show()
    app.MainLoop()

效果图如下:

  

第一张是原始状态下,注意第二张,当用户resize窗体的时候,看到设置了可以扩展的两个块会自动适应以达到

最好的显示效果

本文版权归企业网站建设,做网站,网站建设,php网站建设,dedecms建站,ecshop二次开发,html空间,网站修改所有,转载引用请完整注明以下信息:
本文作者:admin
本文地址:wxPython BoxSizer灵活布局之使用panel之间的嵌套达到任何你想要的布局 | 企业网站建设,做网站,网站建设,php网站建设,dedecms建站,ecshop二次开发,html空间,网站修改

发表评论

留言无头像?