XMLリソースファイルを使う

The idea behind xml resources is to separate the interface from the code of an application. Several GUI builders use this concept for creating interfaces. For example the famous Glade. In our example we create a simple frame window with one button. We load resources from a file, load a panel and bind an event to a button.

なぜXMLリソースを使うのかというと、アプリケーションのソースコードとインターフェースを分離するためです。 いくつかのGUIビルダーは、インターフェースを作るのにこのコンセプトを使用しています。 例としてGladeが有名でしょう。 我々のサンプルでは、ボタン付きのシンプルなウィンドウを作ります。 リソースをファイルから読み込み、パネルを読み込んでからイベントとボタンを関連付けます。

#!/usr/bin/env python

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.Centre()
        self.Show(True)

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

app = wx.App()
Xml(None, -1, 'xml.py')
app.MainLoop()
<?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>

Date: 2010-10-21 06:21:35 JST

HTML generated by org-mode 6.21b in emacs 23