ich mit wxPythonWie lösche ich Elemente in wx.listCtrl aus einem anderen Frame?
in Schwierigkeiten bin mitIch habe diesen Code
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()
Und von einer anderen Klasse (eine andere wx.Frame), ich versuche, die Liste auf MyForm Rahmen zu aktualisieren.
Obwohl ich die Anzahl der Elemente in Liste, aber leider kann ich die Elemente nicht löschen.
Irgendwelche Ideen?
Ok, aber wie geht das? Warum kann ich den "GetItemCount" korrekt arbeiten lassen? –
Auf die gleiche Weise wie Sie auf ein Objekt von einem anderen zugreifen, gibt es hier nichts Besonderes. Geben Sie einen Verweis auf das andere Objekt, speichern Sie es in "self", und rufen Sie dann eine Methode des anderen Objekts auf, wie 'self.otherFrame.doSomething()' – RobinDunn