2008-10-21

wxPython -- ID的使用

ID是wxPython裡面所有Widget的一項功能。wxPython程式裡每一個Widget都有視窗辨識子。每一個frame的ID都應為唯一,但你可以在frame之間再次使用。為了避免因為ID而產生錯誤或者混淆,這裡是一些被建議參考的規則。在wxPython裡對ID而言最重要的就是建議特定物件與事件間的單一關係,且讓函式可以被呼叫來回應該事件。

在建立widget使用的ID有三種方式:
1. 明確傳送正整數到constructor裡
2. 讓wxPython透過wx.NewId()來幫忙建立id
3. 傳送wx.ID_ANY或-1到widget constructor

為了避免產生重複的id, 有兩種方式:
使用NewID()
id=wx.NewId()
frame=wx.Frame.__init__(None, id)


讓系統產生而後取得
frame = wx.Frame.__init__(None, -1)
id = frame.GetId()


另外就是避免使用已經被定義在wx.ID_LOWEST與wx.ID_HIGHEST間的數字。

沒有留言: