StaticText unsichtbar

Plattformunabhängige GUIs mit wxWidgets.
Antworten
joh#
User
Beiträge: 139
Registriert: Freitag 6. November 2009, 13:16

Hi,
kann mir jermand sagen, warum im folgenden Code, der StaticText "self.valG2" (im
Gegensatz zu seinem gleich definierten Mitstreiter) nicht dargestellt wird (Python 2.6
Linux, wxPython 2.8.10):

Code: Alles auswählen

#-------------------------------------------------------------------------------
#!/usr/bin/env python
from    time            import sleep, clock
import  wx
import  wx.html
import  thread
#-----------------GUI-----------------------------------------------------------
class MainFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, -1, "BC")
        panel1 = wx.Panel(self, -1)
        panel1.SetBackgroundColour("White")
        sizerT=wx.GridBagSizer(hgap=30, vgap=30)        
        self.statusbar=self.CreateStatusBar()
        self.statusbar.SetStatusText("Bereit")
        #-----
        self.txtG1 = wx.StaticText(panel1, -1, "Ana1")
        self.txtG1.SetFont(wx.Font(14, wx.SWISS, wx.NORMAL, wx.NORMAL))
        self.txtG1.SetBackgroundColour("White")
        sizerT.Add(self.txtG1, pos=(2,1))
        self.gauge1 = wx.Gauge(panel1, -1, 255, size=(250, 25))
        sizerT.Add(self.gauge1, pos=(2,2))
        self.valG1 = wx.StaticText(panel1, -1, "muff")
        self.valG1.SetFont(wx.Font(14, wx.SWISS, wx.NORMAL, wx.NORMAL))
        self.valG1.SetBackgroundColour("White")
        sizerT.Add(self.valG1, pos=(2,3))
        self.valG2 = wx.StaticText(self, -1, "muff")
        self.valG2.SetFont(wx.Font(14, wx.SWISS, wx.NORMAL, wx.NORMAL))
        self.valG2.SetBackgroundColour("White")
        sizerT.Add(self.valG2, pos=(3,1))                
        self.timer = wx.Timer(self, 1)
        self.timer.Start(100)

        #--------------- bindings ----------------------------------------------
        self.Bind(wx.EVT_TIMER, self.OnTimer,       self.timer)

        panel1.SetSizer(sizerT)
        panel1.Fit()


    def OnTimer(self, evt): 
        #Anal1=ord(s1.Ana4Read()[0])
        Anal1=127 #Dummy
        self.valG1.SetLabel(str(Anal1))
        self.gauge1.SetValue(Anal1)
        self.valG2.SetLabel(str(255-Anal1))     #wird nicht angezeigt ???



    def OnExit(self, evt):
        self.Close(True)

#-----------------main----------------------------------------------------------

if __name__ == '__main__':

    class MyApp(wx.App):
        def OnInit(self):
            frame = MainFrame()
            frame.Show(True)
            self.SetTopWindow(frame)
            return True
    app = MyApp(False)
    app.MainLoop()

  

Zuletzt geändert von Anonymous am Freitag 16. September 2011, 21:41, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
Benutzeravatar
ocoal
User
Beiträge: 32
Registriert: Mittwoch 20. Juli 2011, 22:44

Hallo joh#,

ich habe es unter Windows getestet, wo "self.valG2" (unterhalb des Labels "Ana1") angezeigt wird (Wert: 128).

Hier mal ein Screenshot (zum vergrößern einfach drauf klicken):
Bild

Mir ist aufgefallen, dass Du als parent "self" anstelle von "panel1" im Gegensatz zum "self.valG1" Äquivalent übergibst ... aber sollte nicht das Problem sein.

-Colin-
joh#
User
Beiträge: 139
Registriert: Freitag 6. November 2009, 13:16

ocoal hat geschrieben:Hallo joh#,
. . .
Mir ist aufgefallen, dass Du als parent "self" anstelle von "panel1" im Gegensatz zum "self.valG1" Äquivalent übergibst ... aber sollte nicht das Problem sein.

-Colin-
Doch, das war wohl das Problem :)
Sehkraft(4Augen) > Sehkraft(2Augen) #!!
Danke für die schnelle Hilfe.
joh
Antworten