wx.aui.AuiManager部分/布局翻译
wx.aui.AuiManager
wx.aui.AuiManager 是AUI框架类中的主要类
wx.aui.AuiManager管理于指定的wx.Frame相关联的窗口,通过使用窗口的wx.aui.AuiPaneInfo信息决定每个窗口停靠和浮动的行为。
在每一个frame中,wx.aui.AuiManager 使用wxWidgets的sizer机制来决定布局。它使用一个可替换的dock art类来完成绘制,因此在一个区域中的所有绘制都是本地化的,并且可以根据应用程序的特定需求进行定制。
wx.aui.AuiManager的工作方式如下:程序员将panes(窗格)添加入类中,或者更改了已存在的pane属性(停靠位置,浮动状态,显示状态等等)。为了应用这些更改,需要调用wx.aui.AuiManager的Update方法。每次修改多个窗格,然后通过调用Update一次性提交所有更改,这种批处理可以用来避免闪烁。
可以这样很容易的添加Panes:
text1 = wx.TextCtrl(self)
text2 = wx.TextCtrl(self)
self.mgr.AddPane(text1, wx.LEFT, "Pane Caption")
self.mgr.AddPane(text2, wx.BOTTOM, "Pane Caption")
self.mgr.Update()
稍后也可以很容易的修改位置,下面的语句将在工作窗口中浮动一个现有pane(窗格)
self.mgr.GetPane(text1).Float()
Layers, Rows and Directions, Positions
在Aui内部,通过检查一些pane的参数来确定dock的布局,其中4个对于确定pane的最终位置非常重要:
- Direction:每一个docked pane(停靠面板)都有一个direction(方向),Top,Bottom,Left,Right,or Center。这是一目了然的。pane(面板)将被放置在该变量指定的位置。
- Position:可以将一个以上的pane放置在dock内部。想象一下两个面板(panes)停靠在窗口的左边。一个窗格可以放置在另一个窗格之上。在按比例管理的dock中,pane的position表示它的顺序位置,从零开始。所以,在我们设想的停靠在左边的含有两个panes的dock中,上层的pane的position为0,第二个的position为1。
- Row:一个row(行)可以放置两个相邻的dock。最常见的情况之一是在工具栏中。多个工具栏是允许的,第一个row为0,第二个为1。Rows也可以在垂直的docked panes(停靠窗口)中使用。
- Layer(层):一个layer类似于一个洋葱。Layer 0 是managed pane(管理面板)的中心。因此,如果一个pane位于layer 0中,它将是离中心窗口最近的(有时候也被称为“内容窗口”)。增加的layers(层)会“吞噬”所有低一级的层。这看起来很像(multiple rows)多层,但却是不同的因为所有的底层中的所有panes都是包含于高层中的。理解层的最好方式就是运行AUI实例。
wx.aui.AuiManager部分/布局翻译的更多相关文章
- aui
#encoding:utf-8import wximport wx.auiclass MyFrame(wx.Frame): def __init__(self, *args, **kwargs): w ...
- wxAui Frame Management用法
wxAui Frame Management用法:1. 总体步骤# 安装wxpython2.8.*.*后import wx.aui# 初始化一个wxAui管理框架对象mgr = wx.aui.AuiM ...
- 【转载】Python与ArcGIS Engine的集成
本文转载自Fransico<Python与ArcGIS Engine的集成> 1 在Python中调用AO类库 1.1 准备工作 本文所使用环境:ArcGIS 10.0.Python ...
- wxpyhon 鼠标事件例子
#encoding:utf-8 import wx import wx.aui class MyFrame(wx.Frame): def __init__(self, *args, **kwargs) ...
- wx
wx The classes in this module are the most commonly used classes for wxPython, which is why they hav ...
- wx.Frame
wx.Frame A frame is a window whose size and position can (usually) be changed by the user. It usuall ...
- wx.BookCtrlBase
wx.BookCtrlBase A book control is a convenient way of displaying multiple pages of information, disp ...
- 关于AUI框架自学心得
2018年8月25日今天星期六,这段时间接触到移动端布局框架AUI,借着早上一个小时时间大致看了一下开发文档(后面统称文档),对AUI一点认识. 目前2.0版本为最新版,这个版本和1.0比较升级很多. ...
- python_GUI
1. 需要安装wxPython软件 2. GUI(图形用户界面)代码的编写顺序 备注: 1. 加入面板和布局管理器,可以使得组件的位置和大小更加灵活 3. 示例: #encoding=utf-8 i ...
随机推荐
- ASP.NET开发,从二层至三层,至面向对象 (2)
继续上一篇<ASP.NET开发,从二层至三层,至面向对象>http://www.cnblogs.com/insus/p/3822624.html .我们了解到怎样把自己的程序由二层变为三层 ...
- Sql Server 开窗函数Over()的使用
利用over(),将统计信息计算出来,然后直接筛选结果集 declare @t table( ProductID int, ProductName ), ProductType ), Price in ...
- 基于asp.net mvc的近乎产品开发培训课程(第二讲)
演示产品源码下载地址:http://www.jinhusns.com/Products/Download
- 撩课-Web大前端每天5道面试题-Day31
1.web storage和cookie的区别? Web Storage的概念和cookie相似, 区别是它是为了更大容量存储设计的. Cookie的大小是受限的, 并且每次你请求一个新的页面的时候C ...
- 环境配置问题: 关于IDEA配置tomcat
1. 先下载并解压缩一个tomcat7 2.打开idea 3. -Xms256M -Xmx1024M -XX:PermSize=64M -XX:MaxPermSize=128M 关于热部署设置参考: ...
- NIO学习笔记七:Pipe
Java NIO 管道是2个线程之间的单向数据连接.Pipe有一个source通道和一个sink通道.数据会被写到sink通道,从source通道读取. 这里是Pipe原理的图示: 示例代码 Pipe ...
- javascript:原型与原型链
一,函数对象 所有引用类型(函数,数组,对象)都拥有__proto__属性(隐式原型) 所有函数拥有prototype属性(显式原型)(仅限函数) 原型对象:拥有prototype属性的对象,在定义函 ...
- SD从零开始47-50, 装运成本基础、控制、结算, 信用/风险管理概述
[原创] SD从零开始47 装运成本基础 详细的装运成本处理Shipment Cost Processing in Detail 装运成本计算和装运成本结算可用于内向和外向交货: 装运成本记录在一张新 ...
- SD从零开始29-30
SD从零开始29 外向交货单处理中的特殊功能 批次Batches 你可以在material handled in batches的相关详细屏幕指定一个batch(物料是否使用batches来处理标记在 ...
- ArcGIS三种方式打断相交线------Feature To Line工具
有多个layer图层相交线时,选用”Feature To Line“工具,将多个图层相交线打断,然后合并成一个图层. (1) 选择工具栏”Geoprocessing“中的”ArcToolb ...