(三)Layout management in wxPython
一个wxpython应用是由多个widgets组成的 这些widgets在一个容器widgets里
有两种容器定位方式
(1) 绝对定位
(2) sizers
1 绝对定位
如果采用绝对定位 在重画窗口以后 widgets的位置和大小将不会变动
在不同平台上会有差别
改变应用的字体将会破坏layout
更换layout将会是一件很麻烦和单调的事情
下面一个比较例子
python 代码
-
-
-
-
-
- import wx
-
- class Absolute(wx.Frame):
- def __init__(self, parent, id, title):
-
- wx.Frame.__init__(self, parent, id, title, size=(250,180))
-
- panel = wx.Panel(self, -1)
-
- menubar = wx.MenuBar()
- file = wx.Menu()
- edit = wx.Menu()
- help = wx.Menu()
-
- menubar.Append(file, '&File')
- menubar.Append(edit, '&edit')
- menubar.Append(help, '&help')
-
- self.SetMenuBar(menubar)
-
- wx.TextCtrl(panel, -1, pos=(-1, -1), size=(250, 150))
-
- self.Centre()
- self.Show(True)
-
- app=wx.App(0)
- Absolute(None, -1, '')
- app.MainLoop()
得到以下两个窗口 后面一个是改变size以后的
2 使用sizers来定位
主要的sizers有以下几种
* wx.BoxSizer
* wx.StaticBoxSizer
* wx.GridSizer
* wx.FlexGridSizer
* wx.GridBagSizer
把上面的例子修改一下
python 代码
-
-
-
-
-
- import wx
-
- class Sizers(wx.Frame):
- def __init__(self, parent, id, title):
- wx.Frame.__init__(self, parent, id, title, size=(350,180))
-
-
-
- menubar = wx.MenuBar()
- file = wx.Menu()
- edit = wx.Menu()
- help = wx.Menu()
-
- menubar.Append(file, '&File')
- menubar.Append(edit, '&edit')
- menubar.Append(help, '&help')
-
- self.SetMenuBar(menubar)
-
-
-
- wx.TextCtrl(self, -1)
- self.Centre()
- self.Show(True)
-
- app=wx.App(0)
- Sizers(None, -1, '')
- app.MainLoop()
虽然没有使用sizers中的任何一种 但是wx.Frame有一个特别的内建的Sizer 我们可以把任何widgets放在wx.Frame里
都会自动的住进Frame的空间里 除了borders, menu, toolbar , statusbar
3 wx.BoxSizer
这个sizer是可以嵌套的 以此可以实现任何复杂的布局
box = wx.BoxSizer(integer orient)
box.Add(wx.Window window, integer proportion=0, integer flag = 0, integer border = 0)
分享到:
相关推荐
您可以在几分钟内编写一段...这篇文章是关于 wxPython,但 wxPython 实际是两件事物的组合体:Python 脚本语言和 GUI 功能的 wxWindows 库(关于 wxWindows 的介绍,请参阅 developerWorks上的 “细述 wxWindows” )。
wxPython是Python编程语言的一个GUI工具箱。他使得Python程序 员能够轻松的创建具有健壮、功能强大的图形用户界面的程序。它是 Python语言对流行的wxWidgets跨平台GUI工具库的绑定。而 wxWidgets是用C++语言写成的。...
用WxPython实现Sqlite3 里的数据管理通用界面,简单实现 查询,修改、新增、删除记录。 介绍可以看博客 https://blog.csdn.net/seakingx/article/details/93050958
wxPython 常见的函数,快速开发手册。(好吧,其实就是自己整理的一个文档。)
wxpython中文教程wxpython中文教程wxpython中文教程wxpython中文教程wxpython中文教程wxpython中文教程wxpython中文教程wxpython中文教程wxpython中文教程
wxPython入门教程前3章 wxPython入门教程前3章 wxPython入门教程前3章 wxPython入门教程前3章
几本很不错的关于python gui的wxPython的书,包括“wxPython in Action(中文版)” 活学活用wxPython “《wxPython in Action》Noel Rappin, Robin Dunn著 2006年版”
1,导入 wxpython 库 import wx 2,建立窗体构造类 class 名字(wx.Frame): def __init__(self, parent, id): wx.Frame.__init__(self, parent, id, ‘工具’,size=(300, 200)) 3,建立 面板 panel = wx.Panel(self...
The wxPython part of the story actually begins in 1995, with Harri Pasanen and Robin Dunn. Robin, who is one of the co-authors of the book, wrote the following about the history of wxPython, and we ...
wxPython是Python编程语言的一个GUI工具箱。他使得Python程序员能够轻松的创建具有健壮、功能强大的图形用户界面的程序。它是Python语言对流行的wxWidgets跨平台GUI工具库的绑定。而wxWidgets是用C++语言写成的。和...
Python WxPython开源扫雷游戏PyMine为开源扫雷游戏PyMine 使用Python语言和WxPython UI框架。本例移植自开源例程JMine 请在程序所在目录使用python PyMine.py启动例程需要先安装Python 3.11和wxPython 4.2Python ...
wxPython开发参考书籍
python2.4相对应的wxPython,还有很多库,一次性下载,不用费心去找了。
python3+wxpython图形界面编程教程,通过学习可以掌握wxpython编程基本知识。内有图文、源代码展示。
wxpython grid使用部分
Part1 wxPython入门 , wxPython入门 , wxPython入门里面有实例讲解
wxPython的wxAuiNotebook实现Tab页效果
wxPython and PyOpengl源码 演示如何在wxPython构建的GUI中使用pyopengl绘制场景
wxpython for python2.4 wxpython for python2.4 wxpython for python2.4 wxpython for python2.4 做python开发,注意自己的python版本是2.4
wxpython 学习,各种demo集合,