一直以來,在Python上手工刻GUI都是件讓我很困擾的事。在Tkinter, wxPython, PyGTK, PyQT…一堆GUI Framework裡面,我還找不到一個適合自己的。
本來是想用wxPython來上手的,沒想到越練習越挫折,囧rz。
這邊有一個用XRC(xml resources)來建構GUI的部份,範例是可以正常運作,但是經小修增後,會出現一些我不能理解的問題…。
xml.py
#!/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>
來源參考: wxPython:XRC
pyqt4 中有 qt designer, 非常方便簡單使用。拉來拉去然後用 pyuic4 就可以輕易的產生 gui 介面的 code,完全不用寫!甚至與 eric4 一起用,整合性非常好。
回覆刪除