0
我正在用wxpython寫一個簡單的數據庫GUI。wx.ListCtrl:如何在EVT_RIGHT_DOWN上選擇一行?
爲了顯示我的數據庫條目,我正在使用wx.ListCtrl
。我們來考慮下面的代碼片段:
class BookList(wx.ListCtrl):
def __init__(self, parent, ID=wx.ID_ANY):
wx.ListCtrl.__init__(self, parent, ID)
self.InsertColumn(0, 'Title')
self.InsertColumn(1, 'Author')
# set column width ...
self.Bind(wx.EVT_RIGHT_DOWN, self.OnRightDown)
def OnRightDown(self, event):
menu = wx.Menu()
delete = menu.Append(wx.ID_ANY, 'Delete Item')
self.Bind(wx.EVT_MENU, self.OnDelete, delete)
# select row
self.PopupMenu(menu, event.GetPosition())
我不知道如何在產卵菜單之前選擇行。
我想到了兩個可能的解決方案:
- 使用
wx.ListCtrl.Select()
,但我不知道如何獲得對應於我要選擇行idx
參數。 - 觸發器
wx.EVT_LEFT_DOWN
,但我不知道如何(甚至如果)它可以完成。
我在正確的方式嗎?有沒有更好的解決方案?
在此先感謝。