Ross Wan's World!

Python, Ajax, PHP and Linux.

wxPython:XRC

Posted by Ross Wan 于 2008/05/03

       使用 XRC(xml resources)来构建 wxPython 程序,可以将程序的界面代码从程序代码中分离开来。下面是一个简单的示例,我们加载一个 xml 资源文件(xrc 文件),创建一个带有单个按钮的窗口,并且将事件绑定到按钮上。

#!/usr/bin/python
# xml.py

import  wx
import  wx.xrc  as  xrc

class Xml(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title)

        res = xrc.XmlResource(‘resource.xrc’)
        res.LoadPanel(self, ‘MyPanel’)

        self.Bind(wx.EVT_BUTTON, self.OnClose,  id=xrc.XRCID(‘CloseButton’))
        self.Center()
        self.Show(True)

    def OnClose(self, event):
        self.Close()

app = wx.App()
Xml(None, -1, ‘xml.py’)
app.MainLoop()

       下面是 resource.xrc 文件的内容:

<?xml version=”1.0″ ?>
<resource>
  <object class=”wxPanel” name=”MyPanel”>
   <object class=”wxButton” name=”CloseButton”>
    <label>Close</label>
    <pos>15,10</pos>
   </object>
  </object>
</resource>

       使用下面两个方法处理 XRC 文件里已经定义的控件:

  • XRCID(resource_name)   取得控件的 id。
  • XRCCTRL(resource_name)   取得控件的句柄。
Advertisements

一条回应 to “wxPython:XRC”

  1. Ross Wan said

    翻译自:The wxPython tutorial

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

 
%d 博主赞过: