`
rainytooo
  • 浏览: 38290 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

The wxPython Guide笔记3

阅读更多
(三)Layout management in wxPython
一个wxpython应用是由多个widgets组成的 这些widgets在一个容器widgets里
有两种容器定位方式
(1) 绝对定位
(2) sizers
1 绝对定位
如果采用绝对定位 在重画窗口以后 widgets的位置和大小将不会变动
在不同平台上会有差别
改变应用的字体将会破坏layout
更换layout将会是一件很麻烦和单调的事情
下面一个比较例子

python 代码
  1. #!/usr/bin/python
  2. # absolute.py
  3. import wx
  4. class Absolute(wx.Frame):
  5. def __init__(self, parent, id, title):
  6. #修改size参数 看效果 size=(350, 220)
  7. wx.Frame.__init__(self, parent, id, title, size=(250,180))
  8. #添加一个panel到Frame 放置Text
  9. panel = wx.Panel(self, -1)
  10. menubar = wx.MenuBar()
  11. file = wx.Menu()
  12. edit = wx.Menu()
  13. help = wx.Menu()
  14. menubar.Append(file, '&File')
  15. menubar.Append(edit, '&edit')
  16. menubar.Append(help, '&help')
  17. self.SetMenuBar(menubar)
  18. wx.TextCtrl(panel, -1, pos=(-1, -1), size=(250, 150))
  19. self.Centre()
  20. self.Show(True)
  21. app=wx.App(0)
  22. Absolute(None, -1, '')
  23. app.MainLoop()

得到以下两个窗口 后面一个是改变size以后的



2 使用sizers来定位

主要的sizers有以下几种
* wx.BoxSizer
* wx.StaticBoxSizer
* wx.GridSizer
* wx.FlexGridSizer
* wx.GridBagSizer
把上面的例子修改一下
python 代码
  1. #!/usr/bin/python
  2. # Sizers.py
  3. import wx
  4. class Sizers(wx.Frame):
  5. def __init__(self, parent, id, title):
  6. wx.Frame.__init__(self, parent, id, title, size=(350,180))
  7. #添加一个panel到Frame 放置Text
  8. #panel = wx.Panel(self, -1)
  9. menubar = wx.MenuBar()
  10. file = wx.Menu()
  11. edit = wx.Menu()
  12. help = wx.Menu()
  13. menubar.Append(file, '&File')
  14. menubar.Append(edit, '&edit')
  15. menubar.Append(help, '&help')
  16. self.SetMenuBar(menubar)
  17. #wx.TextCtrl(panel, -1, pos=(-1, -1), size=(250, 150))
  18. wx.TextCtrl(self, -1)
  19. self.Centre()
  20. self.Show(True)
  21. app=wx.App(0)
  22. Sizers(None, -1, '')
  23. 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,但 wxPython 实际是两件事物的组合体:Python 脚本语言和 GUI 功能的 wxWindows 库(关于 wxWindows 的介绍,请参阅 developerWorks上的 “细述 wxWindows” )。

    wxpython学习笔记

    wxPython是Python编程语言的一个GUI工具箱。他使得Python程序 员能够轻松的创建具有健壮、功能强大的图形用户界面的程序。它是 Python语言对流行的wxWidgets跨平台GUI工具库的绑定。而 wxWidgets是用C++语言写成的。...

    用WxPython实现Sqlite3 里的数据管理界面

    用WxPython实现Sqlite3 里的数据管理通用界面,简单实现 查询,修改、新增、删除记录。 介绍可以看博客 https://blog.csdn.net/seakingx/article/details/93050958

    wxPython 学习笔记

    wxPython 常见的函数,快速开发手册。(好吧,其实就是自己整理的一个文档。)

    wxpython中文教程wxpython中文教程

    wxpython中文教程wxpython中文教程wxpython中文教程wxpython中文教程wxpython中文教程wxpython中文教程wxpython中文教程wxpython中文教程wxpython中文教程

    wxPython入门教程前3章

    wxPython入门教程前3章 wxPython入门教程前3章 wxPython入门教程前3章 wxPython入门教程前3章

    wxPython几本好书

    几本很不错的关于python gui的wxPython的书,包括“wxPython in Action(中文版)” 活学活用wxPython “《wxPython in Action》Noel Rappin, Robin Dunn著 2006年版”

    wxpython 学习笔记 第一天

    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...

    wxPython in Action (2006).pdf

    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学习笔记(推荐查看)

    wxPython是Python编程语言的一个GUI工具箱。他使得Python程序员能够轻松的创建具有健壮、功能强大的图形用户界面的程序。它是Python语言对流行的wxWidgets跨平台GUI工具库的绑定。而wxWidgets是用C++语言写成的。和...

    Python 的WxPython库开源扫雷游戏

    Python WxPython开源扫雷游戏PyMine为开源扫雷游戏PyMine 使用Python语言和WxPython UI框架。本例移植自开源例程JMine 请在程序所在目录使用python PyMine.py启动例程需要先安装Python 3.11和wxPython 4.2Python ...

    wxPython开发参考书籍

    wxPython开发参考书籍

    python2.4 and wxPython

    python2.4相对应的wxPython,还有很多库,一次性下载,不用费心去找了。

    python3+wxpython编程教程

    python3+wxpython图形界面编程教程,通过学习可以掌握wxpython编程基本知识。内有图文、源代码展示。

    wxpython grid.docx

    wxpython grid使用部分

    Part1 wxPython入门

    Part1 wxPython入门 , wxPython入门 , wxPython入门里面有实例讲解

    wxPython的wxAuiNotebook实现Tab页效果

    wxPython的wxAuiNotebook实现Tab页效果

    wxPython and PyOpengl源码

    wxPython and PyOpengl源码 演示如何在wxPython构建的GUI中使用pyopengl绘制场景

    wxpython for python2.4

    wxpython for python2.4 wxpython for python2.4 wxpython for python2.4 wxpython for python2.4 做python开发,注意自己的python版本是2.4

    wxPython-demo-4.0.6_wxpython官方demo_wxPython-demo_wxpython_DEMO_w

    wxpython 学习,各种demo集合,

Global site tag (gtag.js) - Google Analytics