wx.RadioButon Problem

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von schwedenmann, 16.02.2013.

  1. #1 schwedenmann, 16.02.2013
    Zuletzt von einem Moderator bearbeitet: 16.02.2013
    schwedenmann

    schwedenmann Foren Gott

    Dabei seit:
    18.11.2003
    Beiträge:
    2.635
    Zustimmungen:
    2
    Ort:
    Wegberg
    Hallo

    Warum sind in dem Beispiel die Radiuobuttons nicht sichtbar ?

    Code:
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    # spinctrl.py
     
    import wx
    class MyDialog(wx.Dialog):
        def __init__(self, parent, id, title):
            wx.Dialog.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(350, 310))
            wx.StaticText(self, -1, 'Bitte wählen sie aus', (200,1))
            self.SetBackgroundColour('Green')
            
            pnl = wx.Panel(self)
            
            self.rb1 = wx.RadioButton(pnl, label='Zinseszins', pos=(10, 5), 
                style=wx.RB_GROUP)
            self.rb2 = wx.RadioButton(pnl, label='Darlehn', pos=(10, 35))
            self.rb3 = wx.RadioButton(pnl, label='Renten C', pos=(10, 65))
            
            self.rb1.Bind(wx.EVT_RADIOBUTTON, self.SetVal)
            self.rb2.Bind(wx.EVT_RADIOBUTTON, self.SetVal)
            self.rb3.Bind(wx.EVT_RADIOBUTTON, self.SetVal)
            
            
            
        
            
            clear_btn = wx.Button(self, 1, 'Beenden', (185, 250))
     
            self.Bind(wx.EVT_BUTTON, self.OnClose, id=1)
            self.Bind(wx.EVT_CLOSE, self.OnClose)
     
        def OnClose(self, event):
             self.Destroy()
        
        def SetVal(self, e):
            
            state1 = str(self.rb1.GetValue())
            state2 = str(self.rb2.GetValue())
            state3 = str(self.rb3.GetValue())     
             
         
     
    class MyApp(wx.App):
        def OnInit(self):
             dlg = MyDialog(None, -1, 'Zinseszins.py')
             dlg.Show(True)
             dlg.Centre()
             return True
     
    app = MyApp(0)
    app.MainLoop()

    Ja ich weiß, mit sizern wäre das Ganze besser, ist aber nur mein Anfang mit wx.Python, aber es sollte prinzipiell doch auch so (ohne sizer + abolute Positionen) gehen.
    Das Ganze soll später mal ein Finanz-mathe-Rechner (Zinbseszins, Renten,Darlehn + plotten) werden. Mit den RadioButtons wollte ich später 2x jeweils einen neuen frame aufrufen.

    mfg
    schwedenmann
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Gast123, 16.02.2013
    Zuletzt von einem Moderator bearbeitet: 16.02.2013
    Gast123

    Gast123 Guest

    Es wäre schön, wenn du du Code mit dem entsprechenden Tag formatieren könntest.
    Ich musste zum Testen alle Einrückungen manuell nachtippen.

    Bei mir sieht die Schose aus, wie im Anhang.
    Ist Ich nehme an, dass die Ausdehnung der Grundfläche der Radiobuttons spezifiziert werden muss und sonst auf einen Minimalwert (s. Bild) standardisiert.

    MfG

    Schard

    PS: So gehts:
    Code:
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    # spinctrl.py
    
    import wx
    
    class MyDialog(wx.Dialog):
    	def __init__(self, parent, id, title):
    		wx.Dialog.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(350, 310))
    		wx.StaticText(self, -1, 'Bitte wählen sie aus', (200,1))
    		self.SetBackgroundColour('Green')
    
    [B]		pnl = wx.Panel(self, id, wx.DefaultPosition, wx.Size(150,150))[/B]
    
    		self.rb1 = wx.RadioButton(pnl, label='Zinseszins', pos=(10, 5),
    		style=wx.RB_GROUP)
    		self.rb2 = wx.RadioButton(pnl, label='Darlehn', pos=(10, 35))
    		self.rb3 = wx.RadioButton(pnl, label='Renten C', pos=(10, 65))
    		
    		self.rb1.Bind(wx.EVT_RADIOBUTTON, self.SetVal)
    		self.rb2.Bind(wx.EVT_RADIOBUTTON, self.SetVal)
    		self.rb3.Bind(wx.EVT_RADIOBUTTON, self.SetVal)
    
    
    
    
    
    		clear_btn = wx.Button(self, 1, 'Beenden', (185, 250))
    
    		self.Bind(wx.EVT_BUTTON, self.OnClose, id=1)
    		self.Bind(wx.EVT_CLOSE, self.OnClose)
    
    	def OnClose(self, event):
    		self.Destroy()
    
    	def SetVal(self, e):
    		state1 = str(self.rb1.GetValue())
    		state2 = str(self.rb2.GetValue())
    		state3 = str(self.rb3.GetValue())
    
    
    
    class MyApp(wx.App):
    	def OnInit(self):
    		dlg = MyDialog(None, -1, 'Zinseszins.py')
    		dlg.Show(True)
    		dlg.Centre()
    		return True
    
    app = MyApp(0)
    app.MainLoop() 
    
     

    Anhänge:

Thema:

wx.RadioButon Problem

Die Seite wird geladen...

wx.RadioButon Problem - Ähnliche Themen

  1. Virtualboxproblem

    Virtualboxproblem: Hallo Folgnedes Problem: Ich kann ohne Probleme In Debian-Sid, 64Bit und virtualbox-dkms Unixoide installieren, wenn es sich um eine...
  2. grub-pc Probleme bei upgrade

    grub-pc Probleme bei upgrade: Hallo, ich habe beim dist-upgrade folgendes Problem: ---------- Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt. Trigger für...
  3. Problem bei apt-get upgrade (Kali 2.0)

    Problem bei apt-get upgrade (Kali 2.0): Hi, seit paar Tagen habe ich einige Probs. Dachte es sei mal an der Zeit für ein Update und nun tauchen da einige Fehler auf: Es müssen noch 0 B...
  4. Probleme mit YUM

    Probleme mit YUM: Hallo, ich habe CentOs 7 als Dualboot mit Windows 7 auf einen Dell Latitude E5510 installiert. Dies hat soweit auch alles geklappt. Leider habe...
  5. Problem mit Win-Zugriff auf SAMBA

    Problem mit Win-Zugriff auf SAMBA: Hallo rundherum, vielleicht hat jemand eine Idee... Habe jetzt schon 1 1/2 Tage damit verbraten und den Fehler nicht gefunden. Problem:...