Hallo,
in der Doku zu wx.ListCtrl habe ich nichts gefunden, um alle selektierten Einträge einer ListCtrl auszugeben (so etwas in der Art von wx.ListCtrl.GetSelections() oder so). Für eine ListBox gibt es so etwas.
Was ist der einfachste Weg, alle selektierten Einträge einer ListCtrl auszugeben? Habe ich da etwas übersehen, oder muss man sich da etwas selber basteln?
Grüße
Mawilo
Selektierte Einträge einer wx.ListCtrl ausgeben
Ich habe das einmal so gemacht:
(es ist grundsätzlich etwas umständlich)
Nachtrag:
Im wxPython Demo ist auch so etwas drin:
demo => Listctrl demo => selektiere ein paar => rechtsclick auf ein selektiertes item => iterate selected => im logwindow werden die selektierten aufgelistet.
(es ist grundsätzlich etwas umständlich)
Code: Alles auswählen
index = -1
for i in range (self.GetItemCount()):
index = self.GetNextItem(index, wx.LIST_NEXT_ALL, wx.LIST_STATE_SELECTED)
if index == -1:
break
else:
item = self.GetItem(index, 1) #the column
path = item.GetText()
#do whatever you want with it
Im wxPython Demo ist auch so etwas drin:
demo => Listctrl demo => selektiere ein paar => rechtsclick auf ein selektiertes item => iterate selected => im logwindow werden die selektierten aufgelistet.
- Mawilo
- User
- Beiträge: 454
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Danke für den Hinweis mit der Demo. Das hatte ich gar nicht gesehen. Ich habe es jetzt so gelöst:
Grüße
Mawilo
Code: Alles auswählen
index = ListCtrl.GetFirstSelected()
while index != -1:
# mach was mit dem selektierten Item ...
# z.B. ListCtrl.GetItemText(index) oder ListCtrl.GetItemData(index)
# an eine Funktion übergeben
index = ListCtrl.GetNextSelected(index)
Mawilo