ich habe folgendes Problem und komme einfach nicht weiter bzw. verstehe einfach nicht, warum sich Python an der Stelle so verhält.
Ich versuche die Situation mal vereinfacht darzustellen:
Ich baue einen Tree auf und Speicher mir die einzelnen Nodes in einer Map (Rückgabewert AppendNode). Der Node ist in dem Fall der Indexwert der Map, für welchen weitere Informationen hinterlegt sind.
Nun möchte ich, wenn ich mit der rechten Maustaste in der GUI auf einen Node klicke, diese Informationen aufrufen und verarbeiten.
Ich hole mir also im Event RightDown des TreeCtrl mittles
pt = event.GetPosition();
self.item, flags = self.infotree.HitTest(pt)
den aktuell geklickten Node in self.item.
Wenn ich via GetItemText(self.item) mir den Text ausgeben lasse, so passt das auch immer wunderbar. Self.Item gibt genau den Text aus, den es soll. Allerdings kann ich mit dem Node self.item nicht meine vorher angelegte Map ansprechen, da die "NodeID's" unterschiedlich sind. Wenn ich mir alles via print ausgeben lasse, bekomme ich unterschiedliche Speicheradressen für den jeweils vorher in der Map angelegten und den geklickten Node heraus, obwohl beide via GetItemText den gleichen Text zurückgeben. Auch die PyData ist bei beiden Objekten gleich.
Das entzieht sich leider absolut meinem Verständnis. Ich würde erwarten, dass die Node ID statisch bleibt und ich beim Right Down Event genau die Node ID zurück bekomme, welche auch beim AppendNode zurückgekommen ist.
Kann mich da jemand aufklären?

Viele Grüße!