Chinaunix首页 | 论坛 | 博客
  • 博客访问: 31577
  • 博文数量: 14
  • 博客积分: 316
  • 博客等级: 二等列兵
  • 技术积分: 215
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-22 07:22
文章分类

全部博文(14)

文章存档

2013年(6)

2012年(8)

我的朋友

分类: Python/Ruby

2013-01-02 20:02:36

详细请见官方新手指南:%20Started#Getting_started_with_wxPython


今晚无事,研究下wxpython


MyNote:

GUI =   一个app+n个frame

所有可视控件 (buttons, menus, etc)都由wx.Window衍生,这和平常人们想的不一致。

GUI的布局:手动设置控件的pos参数 手动设置pos及常见control控件使用.txt   ,或者 使用wxSizers类 来布局(创建sizer类-->调用add-->setsizer-->setautolayout-->fit),如下

self.sizer2 = wx.BoxSizer(wx.HORIZONTAL)
self.buttons = []
for i in range(0, 6):
    self.buttons.append(wx.Button(self, -1, "Button &"+str(i)))
    self.sizer2.Add(self.buttons[i], 1, wx.EXPAND)
 # Use some sizers to see layout options
self.sizer = wx.BoxSizer(wx.VERTICAL)
self.sizer.Add(self.control, 1, wx.EXPAND)
self.sizer.Add(self.sizer2, 0, wx.EXPAND)
   #Layout sizers
self.SetSizer(self.sizer)
self.SetAutoLayout(1)
self.sizer.Fit(self)

 文本框control下面使用sizer增加了几个按钮.txt   


GUI中事件(event)和方法的绑定:frame实例.Bind(XXXXX的某个事件[wx.EVT_???],    被关联的方法函数,     实例 XXXXX)




最后复习了继承类的使用,就是wxpython继承类实例后,都会在__init___中来个被继承类初始化参数是self。这个和pygtk这种几乎不适用继承的gui不同,有点不适应,看来pygtk程序写得太多了。


1class ExamplePanel(wx.Panel):
  2  def __init__(self, parent):
    3     wx.Panel.__init__(self, parent)# parent由下文知parent=None

。。。。。。。。。。。。。

52 app = wx.App(False)
53 frame = wx.Frame(None)
54 panel = ExamplePanel(frame)
55 frame.Show()
56 app.MainLoop()

阅读(1527) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~