Seite 1 von 1

Schrift ändern

Verfasst: Mittwoch 2. November 2005, 23:02
von Gast
Ich würde gerne haben, dass im untenstehenden Programm die on/off-TexteHintergründe jeweils bis zum Rand gehen ..., ich ahbe aber keine Ahnung wie ich das machen sll!!! Kann mir jemand helfen???

mfg cime

Code: Alles auswählen

import wx
import time

import  wx.lib.scrolledpanel as scrolled

DEUTSCH={
    'title':'Chat',
    'file':'Datei',
    'new':'Neu',
    'new status bar':'Zeichnet eine neue Funktion',
    'exit':'Beenden',
    'exit status bar':'Beendet das Programm',
    'edit':'Bearbeiten',
    'config':'Einstellungen',
    'config status bar':'Konfigurieren des Programms',
    'quest exit':'Wollen Sie wirklich beenden?',
    'exit title':'Beenden ...',
    }

COLOR={
    'bg':'white',
    'name':'yellow',
    'off':'red',
    'on':'green',
    }

class scrolledpanel(scrolled.ScrolledPanel):
    def __init__(self,parent,id):
        self.color=COLOR
        scrolled.ScrolledPanel.__init__(self,parent, id,style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER)
        self.SetBackgroundColour(wx.NamedColour(self.color['bg']))
        self.fgs = wx.FlexGridSizer(cols=2, vgap=4, hgap=4)
        self.SetSizer( self.fgs )
        self.font = wx.Font(10, wx.ROMAN, wx.NORMAL, wx.BOLD)
        label = wx.StaticText(self, -1, 'cime',size=(130,-1))
        label.SetBackgroundColour(wx.NamedColour(self.color['name']))
        label.SetFont(self.font)
        label2 = wx.StaticText(self, -1, 'off')
        label2.SetBackgroundColour(wx.NamedColour(self.color['off']))
        label3 = wx.StaticText(self, -1, 'next',size=(130,-1))
        label3.SetBackgroundColour(wx.NamedColour(self.color['name']))
        label4 = wx.StaticText(self, -1, 'on')
        label4.SetBackgroundColour(wx.NamedColour(self.color['on']))
        self.fgs.Add(label, flag=wx.ALIGN_LEFT)
        self.fgs.Add(label2, flag=wx.ALIGN_CENTER)
        self.fgs.Add(label3, flag=wx.ALIGN_LEFT)
        self.fgs.Add(label4, flag=wx.ALIGN_CENTER)
        self.SetAutoLayout(1)
        self.SetupScrolling()
        

class statusbar(wx.StatusBar):
    def __init__(self,parent,id):
        wx.StatusBar.__init__(self, parent, id)
        self.timer = wx.PyTimer(self.increase_time)
        self.timer.Start(1000)# = 24h
        self.increase_time()
    def increase_time(self):
        t = time.localtime(time.time())
        st = time.strftime("%d. %B %y   %I:%M:%S", t)
        self.SetStatusText(st)

class myframe(wx.Frame):
    def __init__(self,parent,dic):
        self.lang=dic #lang --> language
        wx.Frame.__init__(self,parent,-1,dic['title'],wx.DefaultPosition,(170,420))
        menu=wx.Menu()
        menu.Append(1001,dic['new'],dic['new status bar'])
        menu.AppendSeparator()
        menu.Append(1002,dic['exit'],dic['exit status bar'])
        menubar=wx.MenuBar()
        menubar.Append(menu,dic['file'])
        menu=wx.Menu()
        menu.Append(1003,dic['config'],dic['config status bar'])
        menubar.Append(menu,dic['edit'])
        self.SetMenuBar(menubar)
        others=scrolledpanel(self,-1)
        self.status=statusbar(self,-1)
        self.SetStatusBar(self.status)
        

class app(wx.App):
    def OnInit(self):
        frame = myframe(None,DEUTSCH)
        self.SetTopWindow(frame)
        frame.Show(True)
        return True

if __name__=='__main__':
    main=app()
    main.MainLoop()

Verfasst: Donnerstag 3. November 2005, 16:54
von cime
das da oben war übrigens von mir ...

PS: sorry wegen dem falschen Titel, aber ich wollte erst noch etwas anderes fragen, hatte das dann aber selbst hingekriegt und naja, vergessen den titel zu ändern (vielleicht kann einer der admins es ja mal ändern????)

Verfasst: Donnerstag 3. November 2005, 17:08
von Francesco
cime hat geschrieben:das da oben war übrigens von mir ...

PS: sorry wegen dem falschen Titel, aber ich wollte erst noch etwas anderes fragen, hatte das dann aber selbst hingekriegt und naja, vergessen den titel zu ändern (vielleicht kann einer der admins es ja mal ändern????)
Ist das erste problem erledigt?

Das mit den ausgefüllten Feldern wird so (mit Statictext) nicht (so leicht?)
zu lösen sein; da muesstest du eventuall mit den DrawMethoden direkt
mit dem PaintHandler ins Window zeichnen.

Verfasst: Samstag 5. November 2005, 10:26
von cime
Francesco hat geschrieben:Ist das erste problem erledigt?
ich hab zu schriftarten etwas gefunden, ich werde das erstmal durcharbeiten und, dann falls es noch probs gibt, mit denen ich alleine nicht zurecht komme, nachfragen
Francesco hat geschrieben:Das mit den ausgefüllten Feldern wird so (mit Statictext) nicht (so leicht?)
zu lösen sein; da muesstest du eventuall mit den DrawMethoden direkt
mit dem PaintHandler ins Window zeichnen.
okay, das sollte kein prob sein ... thx