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.694
    Zustimmungen:
    5
    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

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    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. Linux 5.6 löst Jahr-2038-Problem für 32-Bit-Systeme

    Linux 5.6 löst Jahr-2038-Problem für 32-Bit-Systeme: Die kommende Version 5.6 wird der erste Linux-Kernel sein, der gegen das Jahr-2038-Problem auf 32-Bit-Systemen immun ist. Damit das greifen kann,...
  2. kleines curl Problem

    kleines curl Problem: Hallo, ich bin LINUX Frischling und hab mich ein wenig in eien Sackgasse verlaufen... Ich habe vor, die Verzeichnisgröße via curl Befehl in eine...
  3. Samba 4.0.0 - DNS-Problem

    Samba 4.0.0 - DNS-Problem: Hallo, ich betreibe seit 2013 einen Samba4 Server auf Basis der sernet-Pakete als DC für eine kleine Domäne. Nur mit dem DNS gibt es Probleme....
  4. Mageia 7.1 patcht Boot-Problem bei AMD Ryzen 3000 CPUs

    Mageia 7.1 patcht Boot-Problem bei AMD Ryzen 3000 CPUs: Mageia hat kurzfristig mit Version 7.1 ein Point-Release veröffentlicht, um einen Boot-Fehler mit AMDs Ryzen 3000 CPUs zu beheben, der einige...
  5. ip6tables Problem

    ip6tables Problem: Hallo zusammen, ich hab ein Problem kann aber keinen Fehler finden, äußert sich wie folgt, ich habe endlich für ein System in Netz eine IPv6...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden