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

时间: 2024-10-29 05:47:26

wxAui Frame Management用法的相关文章

frame的用法

<iframe> 标签规定一个内联框架.一个内联框架被用来在当前 HTML 文档中嵌入另一个文档. 所有的主流浏览器都支持<iframe>标签.你可以把提示的文字放到 <iframe> 和 </iframe>里面,这样不支持 <iframe>的浏览器就会出现提示的文字. iframe 如何使用呢? 通常我们使用iframe直接在页面嵌套iframe标签指定的src就可以了. 比如: <!-- <iframe> 标签规定一个内联框

关于html frame的用法小例 取自 w3school

这个原本是w3school上面的一个错误 <html> <frameset cols="25%,50%,25%"> <frame src="/example/html/frame_a.html"> <frame src="/example/html/frame_b.html"> <frame src="/example/html/frame_c.html"> <

蓝懿 iOS 僵尸随机

今天上午上课的主要内容是上午对之前留的作业进行了讲解,自己也了解了老师的编程技巧,和我之前做的差别挺多的,老师的处理更加简洁. 下午老师又让做了一个新的项目,类似青蛙过河,给大家看看我做的效果图,可以有闯关模式,自己也第一次感受到编程的强大,一个数字就可以改变很多游戏内容: 学习了辨识是否碰撞的语句:CGRectIntersectsRect(heroIV.frame,zombEIV.frame)? 的用法. 以及让按钮消失的?语句:  [heroIVremoveFromSuperview];用法

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

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

ASP.NET—010:ASP.NET中iframe的写法

在做Asp.net项目中,visual studio 2010创建项目时总会带有default.aspx页.其实也就是所谓的首页,比如以前总喜欢定义一个Index.aspx.然后,所有功能页面从这个页面进去.我也比较喜欢这样用. 之前在default上写了不少frameset,大约是收了html的影响.实际上当我仔细看代码时,发现asp.net并不支持frameset,它支持的是ifram.还是改过来吧. ifram用法也很简单.如下: <head id="Head1" runa

[Aaronyang] 写给自己的WPF4.5 笔记17[Page实现页面导航]

1. 第一个Page页使用 新建PageDemo解决方案,默认wpf应用程序 右键项目新建页,然后指定App.xaml的默认启动窗口,为Page1.xaml,F5运行项目 2.关于NavigationWindow不推荐使用,所以不讲解了,创建对象,指定Content为一个Page页,然后Show() 3.Page类 讲解几个可能跟Window不一样的属性 ShowsNavigationUI="False" 不显示导航栏,默认显示 新建Window1.xaml窗口,放入Frame,去掉默

Paper Reading: Stereo DSO

开篇第一篇就写一个paper reading吧,用markdown+vim写东西切换中英文挺麻烦的,有些就偷懒都用英文写了. Stereo DSO: Large-Scale Direct Sparse Visual Odometry with Stereo Cameras Abstract Optimization objectives: intrinsic/extrinsic parameters of all keyframes all selected pixels' depth Inte

CMPT 454 Project Milestone

CMPT 454 Project Milestone 1: Buffer PoolTotal marks: Total marks: 100Overall percentage: Overall percentage: 16%Due:: Jun 11 (23:59)In this project milestone, you are going to implement a buffer manager discussed in the class. You should use C++11 t

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

imacros 的 pos 参数是什么意思 position的缩写,如果有 2 个以上的元素共用完全相同的属性(比方说同一个小区的同一栋楼),这个 POS 的参数可以借由不同位置来帮助明确定位(也就是说同一栋楼里的第几楼).假设只有一个元素,那么参数值就是 1. imacros 的 ATTR 参数是什么意思 attributiton的缩写,这个参数用来标明所要定位的这个 HTML Tag 具有什么样的属性. 因为是参照到该对应的 HTML Tag 所具备的属性,因此可以指定的项目是很多的,例如,