wxListCtrl: Daten auslesen

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
Blauer Fasan
User
Beiträge: 49
Registriert: Montag 26. März 2007, 15:08
Kontaktdaten:

Guten Tag wünsch ich euch!

Ich arbeite gerade mit einem wxListCtrl in dem Einträge wie folgt aufzufinden sind:

| Datum | Typ | Titel | Prioritaet | Beschreibung |
-----------------------------------------------------------------------------------------
| 2008/1/15 | Klausur | Informatik | Stufe 1-Sehr hoch | Thema: C++ |
... ... ... ... ...

Nun möchte ich gerne, wenn der Benutzer einen dieser Einträge (also eine Zeile davon) anwählt die Daten auslesen. Ich möchte die Date aus jeder Spalte bekommen. Eingefügt habe ich die Daten mit InsertStringItem(index, label). Danach habe ich dann die einzelnen Daten für die Spalten hinzugefügt: SetStringItem(index, col, label).

Jetzt bin ich aber komischeweise überfragt, wie ich die Daten dort wieder auslesen kann. Wahrscheinlich eine doofe Frage aber wenn ich auf dem Schlauch stehe, schubst mich runter ;)

Gruß BF
Dummheit heißt sich in den Vordergrund zu stellen, um gesehen zu werden.
Klugheit heißt sich zurückzuhalten, um zu sehen!
fred.reichbier
User
Beiträge: 155
Registriert: Freitag 29. Dezember 2006, 18:27

Hallo,

lies dir mal das hier durch, insbesondere die wxPython note. .GetItem(id, col) dürfte es sein, und bei dem resultierenden wx.ListItem dann einfach .GetText anwenden ;)

Gruß Fred
Benutzeravatar
Blauer Fasan
User
Beiträge: 49
Registriert: Montag 26. März 2007, 15:08
Kontaktdaten:

Erstmal vielen Dank für deine Antwort.

Ich glaube, dass ich dies schon ausprobiert habe. Beim GetText() wird aber lediglich das zurückgegeben, was zuvor mit InsertStringItem() hinzugefügt wurde, also in diesem Fall das Datum. Was jedoch danach in den anderen Spalten mit SetStringItem() hinzugefügt wurde wird nicht zurückgeliefert, aber genau an diese Daten möchte ich gerne ran.

Diese Dokumentation habe ich schon relativ genau angeguckt, weiß jedoch trotzdem nicht, wie an die Daten zu kommen ist.
Wenn dir oder jemand anderem etwas einfällt, oder ihr etwas seht, was ich übersehe, bitte unbedingt sagen.

Gruß BF
Dummheit heißt sich in den Vordergrund zu stellen, um gesehen zu werden.
Klugheit heißt sich zurückzuhalten, um zu sehen!
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo Blauer Fasan!

fred.reichbier meinte das so:

Code: Alles auswählen

print my_list_ctrl.GetItem(<zeile>, <spalte>).GetItemText()
Ich weiß nicht ob es so funktioniert aber so steht es zumindest in der Doku.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
Blauer Fasan
User
Beiträge: 49
Registriert: Montag 26. März 2007, 15:08
Kontaktdaten:

Also vielen Dank! Mit dem, wie du es beschrieben hast funktioniert es, nur dass es nicht GetItemText() heißt, sondern GetText().

Also nochmals vielen Dank euch beiden!
Dummheit heißt sich in den Vordergrund zu stellen, um gesehen zu werden.
Klugheit heißt sich zurückzuhalten, um zu sehen!
Antworten