wx.Dialog kein Rückgabewert ?

Plattformunabhängige GUIs mit wxWidgets.
Antworten
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

Servus wie bekomm ich denn raus auf welchen Butten des dialoges man Drückt ?
ich finde keine Funktion die diesen wert liefert

Code: Alles auswählen

        self.statusFreasen = False
        text = ("Befindet sich die Maschine auf der Nullstellung \n"
                "Wie auf dem Bild \n Fraeser im Eingriff !!!"
                " Die Maschine Fährt im ersten Satz Hoch Versprochen !!"
               )
        self.dlg = wx.MessageDialog(self, text,
                               'Maschine in Nullstellung Abfragen!',
                                wx.YES_NO | wx.NO_DEFAULT  | wx.LEFT
                               #wx.YES_NO | wx.NO_DEFAULT |wx.ICON_INFORMATION | wx.ICON_INFORMATION
                               )
        if self.dlg.ShowModal() == wx.ID_YES:
            self.statusFraesen = True

        self.dlg.Destroy()
        
        print self.statusFreasen
Lonestar
User
Beiträge: 147
Registriert: Samstag 9. August 2008, 08:31

hmm, aber wo ist denn dein Problem? Du fragst den Button doch schon ab

self.dlg.ShowModal() liefert den gedrücken Button zurück - du überprüfst halt nur auf wx.ID_YES aber du kannst doch auf alle Buttons die du zur Verfügung stellst überprüfen.
Oder habe ich deine Frage nu komplett falsch verstanden?
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

Ich bekomme bei Drücken auf JA auch FALSE
hätte aber gerne TRUE

die if anweisung ist nutzlos da tut sich garnix
Lonestar
User
Beiträge: 147
Registriert: Samstag 9. August 2008, 08:31

also ich hab dein beispiel mal etwas geändert, da deines ja so nicht läuft

Code: Alles auswählen

import wx

class MyApp(wx.App):

    def OnInit(self):
        self.statusFreasen = False
        text = ("Befindet sich die Maschine auf der Nullstellung \n"
            "Wie auf dem Bild \n Fraeser im Eingriff !!!"
            " Die Maschine Faehrt im ersten Satz Hoch Versprochen !!"
           )
        self.dlg = wx.MessageDialog(None, text,
                                    'Maschine in Nullstellung Abfragen!',
                                wx.YES_NO | wx.NO_DEFAULT  | wx.LEFT )
        

        if self.dlg.ShowModal() == wx.ID_YES:
            self.statusFraesen = True
            print "Jawoll du hast auf Ja gedreuckt"
        else:
            print "Nee du hast nicht bestaetigt"
            
        self.dlg.Destroy() 
        
        return True

app = MyApp(redirect = 0)
app.MainLoop()
bei mir läuft das so...
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

OK Danke
weis der Geier aber jetzt geht es auch bei mir !
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Code: Alles auswählen

self.statusFreasen != self.statusFraesen
MfG
HWK
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

ich glaub eher mein python hat genug von meiner programmierer "ei"

ich schmeis es ständig aus dem Taskmanager raus !
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Nein es liegt an dem, was HWK schrieb. Du hast einen Buchstabendreher in deiner if-suite.
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

Danke AH Jetzt JA eine insel
fraesen freasen

sorryyyyyyyyyyyyyy!
Antworten