Button löschen

Plattformunabhängige GUIs mit wxWidgets.
Antworten
zahi
User
Beiträge: 36
Registriert: Montag 26. Oktober 2009, 17:10

hallo zusammen

ich hab eine frage gibs in wxpython eine funktion oder ein befehl um einen button den man erstellt hat in einem panel
wieder löschen durch einen anderen befehl?
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Ich meine Destroy. Bin mir aber gerade nicht sicher.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
zahi
User
Beiträge: 36
Registriert: Montag 26. Oktober 2009, 17:10

ich hatte mach button und destroy gegeoogelt und ich find nix :(
ich will in einer funktion einen button erstellen und in einer andere sie wieder löschen aber ich krieg es nicht hin :(
BlackJack

@zahi: Statt im ganzen Netz zu suchen, ist die wxPython-Dokumentation vielleicht der bessere, zumindest aber der direktere Weg: http://www.wxpython.org/docs/api/wx.Button-class.html

Und wenn man da die Typhierachie raufgeht, findet man auch eine `Destroy()`-Methode.
Benutzeravatar
Masaru
User
Beiträge: 425
Registriert: Mittwoch 4. August 2004, 22:17

Unter wxPython 2.8 (mit Python 2.6) z.B. funktioniert es mittels .Destroy() ohne Probleme.

Aber warum gleich zerstören? Tut's nicht ein verstecken mittels .Hide() auch?

Code: Alles auswählen

...
    def __init__(self):
        # Setup 'Hide me' button.
        self.hide_btn = wx.Button(panel, 1003, "Hide me")
        self.Bind(wx.EVT_BUTTON, self.OnHideMe, self.hide_btn)
		
		# Setup 'Destroy me' button.
        self.destroy_btn= wx.Button(panel, 1004, "Destroy me")
        self.destroy_btn.SetPosition(self.hide_btn.GetPosition() + (0, 30))
        self.Bind(wx.EVT_BUTTON, self.OnDestroyMe, self.destroy_btn)

    def OnHideMe(self, event):
        self.hide_btn.Hide()
		
	def OnDestroyMe(self, event):
        self.destroy_btn.Destroy()
...
>>Masaru<<
zahi
User
Beiträge: 36
Registriert: Montag 26. Oktober 2009, 17:10

weil ich an der selben stelle eine anderen button erscheinen lassen will deswegen destroy nur jetzt hab ich ein anderes technisches problem
mein button wird in einer unterfunktion erstellt
und nun wollt ich es in einer anderen unterfunktion wieder entfernen aber das geht nicht weil meine main panel die buttons nicht kennt
zahi
User
Beiträge: 36
Registriert: Montag 26. Oktober 2009, 17:10

Kann man in wxpython eine variable für eine funktion deklarieren ?bzw vorgeben das es sozusagen im Main es schon angegeben wird und es erst in eine unterfunktion der eigentliche button erstellt wird?
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Was hast du denn überhaupt vor?

Ist es nicht einfacher den Button zu ändern?
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
zahi
User
Beiträge: 36
Registriert: Montag 26. Oktober 2009, 17:10

also ich will das duch auswahl in einer listbox der wert das in der listbox steht in den button als bezeichnung geladen wird nur wen ich dan eine zweite auswahl treffe dan überlagert sich der button
und dan sieht man nicht was da stehen soll.
die struktur meines programms im groben sieht so aus
ich zeige das mal bissel C code mässig mit {}

main {

self. listbox


}

def listbox{

listboxvariable = listbox(...)
bind.event (self.button)

}


def button {

hier wird der button erstellt mit dem werten von der listbox


}
zahi
User
Beiträge: 36
Registriert: Montag 26. Oktober 2009, 17:10

ich weiss ich denk bisschen zu kompliziert
vllt kann ich die auswahl aus der list in eine text box oder so anzeigen lassen aber ich will auch ein event auslösen wen ich auf diese box klicke deswegen der button
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Es gibt Python-Tags.

Warum so kompliziert? Mit `SetLabel` kannst du die Beschriftung ändern.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Antworten