• wxAui Frame Management用法


    wxAui Frame Management用法:

    1. 总体步骤

    # 安装wxpython2.8.*.*后
    import wx.aui

    # 初始化一个wxAui管理框架对象
    mgr = wx.aui.AuiManager()

    # 通知self作为管理所有子对象的父对象
    # self可以是wxWindow任何子对象
    mgr.SetManagedWindow(self)

    # 将控件放入所指定的位置(具体参考“2. 布局步骤”)
    mgr.AddPane(wxWindow* window, const wxAuiPaneInfo& pane_info)

    # "commit" all changes made to FrameManager 
    mgr.Update()


    2. 布局步骤
    调用wxAuiPaneInfo()里提供的方法,如:
    pane1 = wx.Panel(self)
    mgr.AddPane(pane1, wx.aui.AuiPaneInfo().
                       Name("test1").Caption("pane1").
                       CloseButton(True).MaximizeButton(True))
    其中以下4步顺序操作最为关键:
    (1)Direction:先确定Center的对象, 这样就能决定哪个控件是四周拉伸,
       再确定Left, Right, Top, Bottom
    (2)Layer:相同Layer的控件可以看作一个整体,类似BoxSizer,

       从靠近Center的对象从中间向四周开始计算(Center本身不计算),最里面的为Layer(0)可缺省)。数字代表占用的行数和列数来完成布局,Center不计算吧,哈哈

    (3)Position:在同一个Direction和Layer里控件放置的次序,默认情

       是水平方向按水平排列,竖直方向按竖直排列

    (4)Row:在同一个Direction和Layer,改变默认的放置方式


    3. 函数细节
    (1)MinSize()
        只作用于一个方向上第一个的控件
    (2)Fixed()
        一个Panel后,mgr.Update()不会响应OnSize()事件,即不会调用Layout()方法,
        因此要在Panel中显示调用Layout()
    (3)SetDockSizeConstraint(double widthpct, double heightpc)
        调整Dock位于两个Window之间的比例
        wxAuiManager by default limits the size of any new dock to 1/3 of the window  size

  • 相关阅读:
    Xamarin.Forms 开发IOS、Android、UWP应用
    C# 根据路径删除文件或文件夹
    UWP应用程序使用Prism框架构建MVVM
    创建UWP通用应用程序
    初体验uglifyjs压缩JS
    ecarts图与表格切换时,echarts全变形的原因及解决办法
    vue表格绑定数据中的值发生改变时,表格未刷新
    基于pycaffe的网络训练和结果分析(mnist数据集)
    安装python caffe过程中遇到的一些问题以及对应的解决方案
    logistic regression浅析
  • 原文地址:https://www.cnblogs.com/whwywzhj/p/6064054.html
Copyright © 2020-2023  润新知