2008年5月19日 星期一

wxPython : Context Menu, ListBox

Context Menu就是我們按下滑鼠右鍵會跳出的Menu, 用來幫助我們選擇功能用的.
而在wxPython設定Context Menu的方法如下 :

  1. 定義wx.Menu元件
  2. 在要顯示Context Menu的widget元件裡面, wx.EVT_RIGHT_DOWN事件發生時, 執行下面指令 :
    self.PopupMenu(MyContextMenu(self), event.GetPosition())
    其中的MyContextMenu就是我們自己定義的Menu
ListBox是用來顯示一串的資料, 以條列的方式呈現.
其中主要的兩種event為:
  1. wx.EVT_COMMAND_LISTBOX_SELECTED : event binder wx.EVT_LISTBOX_DCLICK
    是當ListBox裡面有元素被選取時(selected)產生的event
  2. wx.EVT_COMMAND_LISTBOX_SELECTED : event binder wx.EVT_LISTBOX
    當ListBox的元素被double click時產生的event



wx.ListBox(wx.Window parent, int id=-1, wx.Point pos=wx.DefaultPosition,
wx.Size size=wx.DefaultSize,list choices=[], long style=0,
wx.Validator validator=wx.DefaultValidator,string name=wx.ListBoxNameStr)

sel = listbox.GetSelection()
text = listbox.GetString(sel)
listbox.Delete(sel)
listbox.Clear()
listbox.Append(text)
listbox.Insert(text, sel)

以上為ListBox的一些operation.


參考資料 :
The wxPython tutorial

沒有留言: