Aui manger 是个窗口(组件)管理器,可能比直接用 Sizer 方便一些。

wx2.8example 窗口布局为:

左边一个 panel,叫做 leftPanel,里头放了点东西。里头的东西我们暂时不关心;

右上方是一个 Notebook,支持 tab 的。以后具体的 Demo 就显示在那里;

右下方是个 TextCtrl,用来存放 log 信息。

所以:

leftPanel = wx.Panel(self)

self.nb = wx.Notebook(self, -1)

self.log = wx.TextCtrl(self, -1, style=wx.TE_MULTILINE|

wx.TE_READONLY|wx.HSCROLL)

log 应该是 READONLY 的。

下面用 aui manager 来把这三个窗体加入主窗体。

import wx.aui

加载模块

self.mgr = wx.aui.Auimanager()

生成管理器

self.mgr.SetManagedWindow(self)

用 mgr 来管理主窗口,也就是现在的 self.

注意在官方的代码中,并不直接管理主窗体。而是生成了一个 panel 并加到主窗体中,然后管理这个 panel。据称这样做可以避免 Mac 版的一个 Bug.

self.mgr.AddPane(self.nb,

wx.aui.AuiPaneInfo().

CenterPane().

Name("Notebook"))

串接的方式并不新奇,但 AuiPaneInfo() 之后的函数次序是可交换的。我猜测这些函数都返回相同的类型。

CenterPane() 的一个作用是使窗体尽可能地大。此外,使用它之后,关闭窗体的按钮消失了。

self.mgr.AddPane(leftPanel,

wx.aui.AuiPaneInfo().

Left().Layer(2).BaseSize((240,-1)).

MinSize((160, -1)).

Caption("InfoMath Demo").

CloseBotton(False))

函数调用方式与前面的类似。Left() 居左。Layer 选择预设布局方式,可以去掉这一句,对比不同效果。CloseBotton(False) 去掉关闭按钮。

self.mgr.AddPane(self.log ...

与前面类似,这里就不说了。

self.mgr.Update()

让前面的设置起作用

xwpython aui 子窗口-wxpython中的wxaui窗口管理器相关推荐

  1. xwpython aui 子窗口-Python/wxPython:AUI管理器,防止面板离开Fram

    我用下面的代码来测试AUI的一些特性.如果运行代码,应该会找到一个框架,其中有两个面板,可以分离/浮动.但是,面板可以拖动到屏幕上的任何位置.我想防止面板离开主机架.这可能吗?我以为会有一面旗帜或是我 ...

  2. QT中如何在主窗口中添加子窗口

    1.方法 原理其实很简单,和在窗口上动态(代码的形式)添加控件的方法一样,但需要设置一下子窗口的属性: 在子窗口构造函数中添加代码: setWindowFlags(Qt::FramelessWindo ...

  3. C#关闭子窗口而不释放子窗口对象的问题解决

    在网上找来一些方式,感觉还都不错,下面给出方式: 在线扫描相机的调试过程中,需要开辟调试界面来进行位置的配置.调试结束后,一种常用的方式是将调试参数保存并在下次启动时加载.另一种简单方式是直接使用该参 ...

  4. c# 子窗口与父窗口之间的传值

    //首先定义两个Form,一个为Form1,一个为Form2,其中Form1作为父窗口,Form2作为子窗口//1.父窗口传值给子窗口//Form1中代码:public Form1(){Initial ...

  5. wxpython 调用子窗口_wxpython简介

    Python ​ Python是一种成功的脚本语言,它最初是由Guido van Rossum开发的.它于1991年首次发布.Python的灵感来自于ABC和Haskell编程语言.Python是一种 ...

  6. QT5中实现多窗口切换,并从子窗口返回数据

    该程序的功能:主窗口里有两个button和ltextEdit,按下下一页button后弹出子窗口并隐藏主窗口,按下退出Button后退出程序.子窗口有文本框lineEdit和button,按下子窗口的 ...

  7. Electron中打开和关闭子窗口以及子窗口向父窗口传值

    场景 用HTML和CSS和JS构建跨平台桌面应用程序的开源库Electron的介绍以及搭建HelloWorld: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/a ...

  8. Vue/Angular中父窗口新开的子窗口关闭的时候刷新父窗口

    最近遇到一个项目需求:Angular中父窗口新开的子窗口提交完信息关闭的时候刷新父窗口. 知识点: window.opener 概述 返回打开当前窗口的那个窗口的引用,例如:在window A中打开了 ...

  9. mfc获取子窗口句柄_前端设计-JavaScript中父窗口与子窗口间的通信

    父窗体与子窗体之间的通信 在之前文章讲解windows程序设计过程中,我们曾描述了windows程序窗口之间通信与控制实现方法与过程,如窗体之间参数传递等.本文主要从Web程序开发前端JavaScri ...

最新文章

  1. 利用Python进行数据分析(第2版)
  2. 采集Nginx日志的几种方式
  3. java.lang.NoClassDefFoundError: javax/xml/bind/ValidationException
  4. 使用HTML5 details,summary实现,展开,下拉,树的效果
  5. python 查询包_查找Python包的依赖包(语句)
  6. python dlib opencv人脸识别准确度_基于dlib和opencv库的人脸识别
  7. Idea部署web项目 与 eclipse 的不同之处
  8. 菜鸟进阶Linux高手之路——第四天(下)
  9. hzwap u.php_『THINKPHP』U 函数
  10. ZeroC Ice介绍与简单demo构建
  11. inux快速修改文件夹及文件下所有文件与文件夹权限
  12. ADO 错误:0x80004005,连接字符串属性无效
  13. CAD坐标怎么输入?CAD坐标标注教程
  14. C# XmlDocument.Save文件操作System.IO.IOException:The process cannot access the file because it is being
  15. 按摩椅简介 按摩椅工作原理
  16. 用计算机运算符编写检索式,在计算机检索中,常用的布尔逻辑算符有哪几种
  17. 三维激光扫描系统基本原理及分类
  18. H5网页开发新手入门-H5网页如何适应不同手机屏幕分辨率?
  19. ZooKeeper - 分布式锁
  20. 图的基本概念、握手定理、Havel定理

热门文章

  1. Linux C: 定时器及时钟服务
  2. 算法练习day17——190405
  3. 京东的商品搜索功能是如何实现的_【干货小知识】京东商家如何优化搜索流量?...
  4. VMware / 三种联网方法及原理
  5. sizeof 宏实现的方法
  6. fclose会写入硬盘吗 linux_Qt linux文件同步写入
  7. spring 学习 requestMapping
  8. 前端开发中通过js设置cookie的一组方法
  9. Android学习----AndroidManifest.xml文件解析
  10. 影响一生的职业建议 [转] - 看懂了不一定在高位,在高位的必须看懂了、信息量很大,多学学!...