Seite 1 von 1

wx.Dialog kein Rückgabewert ?

Verfasst: Freitag 16. Januar 2009, 20:07
von sea-live
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

Verfasst: Freitag 16. Januar 2009, 21:12
von Lonestar
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?

Verfasst: Freitag 16. Januar 2009, 21:48
von sea-live
Ich bekomme bei Drücken auf JA auch FALSE
hätte aber gerne TRUE

die if anweisung ist nutzlos da tut sich garnix

Verfasst: Freitag 16. Januar 2009, 22:26
von Lonestar
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...

Verfasst: Samstag 17. Januar 2009, 11:17
von sea-live
OK Danke
weis der Geier aber jetzt geht es auch bei mir !

Verfasst: Samstag 17. Januar 2009, 13:08
von HWK

Code: Alles auswählen

self.statusFreasen != self.statusFraesen
MfG
HWK

Verfasst: Samstag 17. Januar 2009, 13:10
von sea-live
ich glaub eher mein python hat genug von meiner programmierer "ei"

ich schmeis es ständig aus dem Taskmanager raus !

Verfasst: Samstag 17. Januar 2009, 13:17
von cofi
Nein es liegt an dem, was HWK schrieb. Du hast einen Buchstabendreher in deiner if-suite.

Verfasst: Samstag 17. Januar 2009, 13:27
von sea-live
Danke AH Jetzt JA eine insel
fraesen freasen

sorryyyyyyyyyyyyyy!