wx.TreeCtrl

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Hallo

Habe einen Kleinen tree erstellt. Eigentlich läuft alles ganz gut aber... ^^


Wenn der Benutzer kein Element auswählt und dann auf Editieren klickt, stürzt das Programm ab (samt python intepreter).

Problem.

self.tree.GetItemText(item)....

Code: Alles auswählen

        selection = self.tree.GetSelection()
        if not wx.TreeItemId.IsOk(selection):
            msgNoSel= controls.myMessageDialog(self, style = wx.OK | wx.ICON_ERROR, frame = FRAME, name ='msgNoSel')
            msgNoSel.ShowModal()
            msgNoSel.Destroy()
            return 
Greeze
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

DatenMetzgerX hat geschrieben:Wenn der Benutzer kein Element auswählt und dann auf Editieren klickt, stürzt das Programm ab (samt python intepreter).
Hi DM!

Hier meine Tipps, die ich nicht ausprobiert habe: :twisted:

Versuche das Problem zu umgehen. Setze ein Flag, sobald irgendein Eintrag markiert wurde, und lasse das Editieren nur dann zu, wenn dieses Flag gesetzt ist.

Oder selektiere von vorneherein das erste Element deines Trees.

Ausprobieren musst du selber.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Ah Ok. Ist es möglich das wenn man ein Element löscht (per Code), die Selektion nicht verschwindet?
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Lösung gefunden

Beim löschen einfach das ParentItem auswählen ;)

Code: Alles auswählen

                self.tree.SelectItem(self.tree.GetItemParent(selection))
                self.tree.Delete(selection)
Antworten