我有難同wxPython的如何從另一個框架中刪除wx.listCtrl上的項目?
運行我有這樣的代碼
class MyForm(wx.Frame):
# ----------------------------------------------------------------------
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY, "Lapop - Αδειες Υπαλλήλων", size = (700,400))
# Add a panel so it looks the correct on all platforms
panel = wx.Panel(self, wx.ID_ANY)
self.list_ctrl = wx.ListCtrl(panel, size=(680, 340),
style=wx.LC_REPORT
| wx.BORDER_SUNKEN
)
self.list_ctrl.Bind(wx.EVT_COMMAND_LEFT_DCLICK, self.DoubleClick)
self.list_ctrl.InsertColumn(0, 'ID',width=40)
self.list_ctrl.InsertColumn(1, 'Name', width=250)
self.list_ctrl.InsertColumn(2, 'Row1', width=150)
self.list_ctrl.InsertColumn(3, 'Row2', width=150)
sizer.Add(self.list_ctrl, 0, wx.ALL | wx.EXPAND, 5)
panel.SetSizer(sizer)
# ----------------------------------------------------------------------
def UpdateListView(self):
self.list_ctrl.DeleteAllItems()
print self.list_ctrl.GetItemCount()
而且從另一個類(另一個wx.Frame),我嘗試更新MyForm的框架上的列表中。
MyForm().UpdateListView()
雖然我得到列表中的項目的數量,但不幸的是,我不能刪除項目。
任何想法?
好吧,但如何做到這一點?另外,爲什麼我可以獲得「GetItemCount」工作正常? –
就像你從別人訪問任何對象一樣,這裏沒有什麼特別的關於框架。給一個引用另一個對象,保存在'self'中,然後當你需要它時,調用另一個對象的方法,比如'self.otherFrame.doSomething()' – RobinDunn