wx.RadioButon Problem

Diskutiere wx.RadioButon Problem im Ruby, php, Perl, Python ... Forum im Bereich Programmieren unter Linux/Unix; Hallo Warum sind in dem Beispiel die Radiuobuttons nicht sichtbar ? #!/usr/bin/python # -*- coding: utf-8 -*- # spinctrl.py import wx class...

  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.673
    Zustimmungen:
    3
    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. #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. Bootproblem

    Bootproblem: Hallo Ein PC (i686 mit Debian unstable, nox) hat Bootprobleme (will heißen ist erfolgt keine Grafikausgabe. was ich bisher gemacht habe: HDD an...
  2. Crontab und Scripts - Problem

    Crontab und Scripts - Problem: Hallo Zusammen Ich habe ein Script welches mittels Cronjob ausgeführt werden soll. Gemäss Log wird es auch ausgeführt, jedoch passiert nichts:...
  3. Problem bei der installation einer Sun Netzwerkkarte

    Problem bei der installation einer Sun Netzwerkkarte: Guten Morgen zusammen, beim installieren einer zusätzlichen Netzwerkkarte habe ich ein Problem. Die Karte wird nicht automatisch installiert. Es...
  4. Problem bei der Vergabe von Sciherheitsinformationen auf eine Freiagbe

    Problem bei der Vergabe von Sciherheitsinformationen auf eine Freiagbe: Liebe Community, zurzeit arbeite ich an eine Active Directory Domäne die mittels Samba läuft. Dazu habe ich einen AD DC auf Debian 8.7 mit Samba...
  5. Netzwerkproblem ? , wo ud wie suchen

    Netzwerkproblem ? , wo ud wie suchen: Hallo Folgende Problem: Testserver ist i686 Debian-unstable , auf dem läuft primär der apt-proxy apt-cahcer ng. Zugriff im Moment nur per ssh....