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

wxAui Frame Management用法的更多相关文章

  1. frame的用法

    <iframe> 标签规定一个内联框架.一个内联框架被用来在当前 HTML 文档中嵌入另一个文档. 所有的主流浏览器都支持<iframe>标签.你可以把提示的文字放到 < ...

  2. NYTimes Objective-C 编程风格指南

    转自eseedo的博客   [微博] NYTimes Objective-C 编程风格指南.来源:https://github.com/NYTimes/objective-c-style-guide ...

  3. 从零开始系列-R语言基础学习笔记之二 数据结构(二)

    在上一篇中我们一起学习了R语言的数据结构第一部分:向量.数组和矩阵,这次我们开始学习R语言的数据结构第二部分:数据框.因子和列表. 一.数据框 类似于二维数组,但不同的列可以有不同的数据类型(每一列内 ...

  4. Paper Reading: Stereo DSO

    开篇第一篇就写一个paper reading吧,用markdown+vim写东西切换中英文挺麻烦的,有些就偷懒都用英文写了. Stereo DSO: Large-Scale Direct Sparse ...

  5. Omnidirectional DSO: Direct Sparse Odometry with Fisheye Cameras 论文摘要

    1. Abstract 通过一种Unified Omnidirectional Model作为投影方程. 这种方式可以使用图像的所有内容包括有强畸变的区域,而现存的视觉里程计方案只能修正或者切掉来使用 ...

  6. Html标记语言学习一2017年6月12日

    今天主要学习了 frame的用法. <frameset> 可以将网页分成几个不同的部分 使用 cols  和  rows 两种标记.前者是列,后者是行 <frame/>  单标 ...

  7. python3+selenium常用语法汇总

    Selenium常用语法总结 一.Selenium常用定位语法 1.元素定位 (1)ID定位元素: find_element_by_id(‘’) (2)通过元素的类名称定位元素: find_eleme ...

  8. Linux内存管理(深入理解Linux内核)

    Linux的内存管理,实际上是借助80x86的硬件分段和分页电路,将逻辑地址转化为物理地址的. 物理内存中,有一部分是一直(Permanently)映射给内核使用的,这部分主要用于保存内核的代码,以及 ...

  9. iMacros 入门教程-基础函数介绍(2)

    imacros 的 pos 参数是什么意思 position的缩写,如果有 2 个以上的元素共用完全相同的属性(比方说同一个小区的同一栋楼),这个 POS 的参数可以借由不同位置来帮助明确定位(也就是 ...

随机推荐

  1. linux之SQL语句简明教程---INSERT INTO

    到目前为止,我们学到了将如何把资料由表格中取出.但是这些资料是如果进入这些表格的呢? 这就是这一页 (INSERT INTO) 和下一页 (UPDATE) 要讨论的. 基本上,我们有两种作法可以将资料 ...

  2. ios中strong, weak, assign, copy

    copy 和 strong(retain) 区别 1. http://blog.csdn.net/itianyi/article/details/9018567 大部分的时候NSString的属性都是 ...

  3. block的一点知识

    一个block的笔记: http://www.cnblogs.com/xinye/archive/2013/03/03/2941203.html http://segmentfault.com/q/1 ...

  4. 有关ios中images.xcassets的导入图片等命名问题

    最近遇到一个问题,就是在设置启动图片的时候,把启动图片命名设置为了xxx@2x.png, 然后应用死活没有显示启动图片,调试了很久,才发现是因为文件命名的原因. 1. 如果在图片的下方有2x或3x的标 ...

  5. grep 和 sed:linux经常使用工具 &amp; 基本正則表達式

    grep 见链接:http://www.cyberciti.biz/faq/grep-regular-expressions/ sed參考文章:http://www.thegeekstuff.com ...

  6. ORACLE表空间管理方式segment和extent

    A permanent tablespace contains persistent schema objects. Objects in permanent tablespaces are stor ...

  7. 什么是 CSS 预处理器?

    什么是 CSS 预处理器?  就CSS本身而言,对于大多数Web前端从业人员来说就不是问题.学过CSS的人都知道,它不是一种编程语言.你可以用它开发网页样式,但是没法用它编程.换句话说,CSS基本上是 ...

  8. struts2 s:if 的字符串比较问题

    如果数据库字段的数据类型为string or  char 类型,此时在页面 <s:if test=""></s:if> 中test <s:iterat ...

  9. UVA 12166 Equilibrium Mobile

    题意: 给出数个天平,每个天平的结构都类似于二叉树,只有左右重量都相等时才平衡,求每个天平最少改多少个秤砣,也就是叶子结点可以使得整个天平平衡.天平的深度不超过16. 分析: 要使得改动的数量最少,那 ...

  10. sqlserver 2008 局域网跨服务器T-SQL操作(一)

    --查看当前链接情况: select * from sys.servers; --增加链接,参数:服务器别名,为链接服务器的OLE DB数据源的产品名称,与此数据源对应的OLE DB访问接口的唯一编程 ...