博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
wxAui Frame Management用法
阅读量:4959 次
发布时间:2019-06-12

本文共 1163 字,大约阅读时间需要 3 分钟。

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

转载于:https://www.cnblogs.com/wangjian8888/p/6064054.html

你可能感兴趣的文章
vector 的resize 和 reserve
查看>>
Logback LogBack
查看>>
如何在C#中获得input文本框中的值
查看>>
Unicode字符列表(超完整)
查看>>
linux消息队列编程实例
查看>>
webapi中使用Route标签
查看>>
LeetCode 43 字符串相乘
查看>>
[学习笔记] extends implements 的区别与联系 [转载]
查看>>
PHP的运行机制与原理(底层) [转]
查看>>
网页压力测试工具之Loadrunner
查看>>
MSSQL 视图/事务(TRAN[SACTION])/存储过程(PROC[EDURE])/触发器(TRIGGER )
查看>>
python访问mysql和redis
查看>>
整数中1出现的次数(从1到n整数中1出现的次数)(python)
查看>>
javafx实现一个很有意思的动画
查看>>
javafx实现自定义html编辑器
查看>>
Python自学之乐-继承的新式类与经典类
查看>>
解决新浪微博未安装客户端分享不能带链接问题
查看>>
ionic安装开发环境
查看>>
Java 生成 UUID
查看>>
AWR报告
查看>>