wx.TreeCtrl

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

wx.TreeCtrl

Beitragvon DatenMetzgerX » Freitag 7. Juli 2006, 18:16

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: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: wx.TreeCtrl

Beitragvon gerold » Freitag 7. Juli 2006, 19:22

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)

Beitragvon DatenMetzgerX » Freitag 7. Juli 2006, 19:26

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)

Beitragvon DatenMetzgerX » Freitag 7. Juli 2006, 19:32

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)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder