Seite 1 von 1
Wie Style von Widgets ändern z.b. den Border oder Font?
Verfasst: Montag 19. Februar 2007, 17:57
von Hand
In Gtk ging das, die Schriftart und die größe(tiefe) des z.b. Sunken Border zu ändern.
Geht das in wx auch irgendwie?
Farbe geht mit SetBackgroundColor() aber für den Rest find ich leider nix
Verfasst: Montag 19. Februar 2007, 18:07
von Hand
das mit dem Font hab ich grade rausgefunden
Code: Alles auswählen
font = wx.Font(18, wx.SWISS, wx.NORMAL, wx.NORMAL)
text.SetFont(font)
fehlt noch das ändern der Borderdicke
Verfasst: Montag 19. Februar 2007, 18:20
von sape
Erstmal vorweg: Fasst alle Widgets habe als absolute Oberklasse wxWindow.
http://wxwidgets.org/manuals/2.8.0/wx_w ... l#wxwindow
Mit
Window styles kannst du den Stil angeben. Was zu beachten ist, ist das einige Stile nicht mit allen Widgets Funktioniert. Dazu kommt noch hinzu das einigeWidgets ncoh zusätzliche syles defineiren wie z.B.
wxTextCtrl. Benutzt wird das in den man im Konstruktor
style=wx.XYZ angibt
Schriftfarbe ändern kannst du mit
SetFont und die Hintergrundfarbe mit
SetBackgroundColour. Vordergrundfarbe mit
SetForegroundColour.
Informationen zu
wxFont gibt es hier. EDIT: Und hier:
http://wxpython.wxcommunity.com/docs/ap ... class.html
Verfasst: Montag 19. Februar 2007, 18:32
von sape
Hand hat geschrieben:
fehlt noch das ändern der Borderdicke
Hier mal ein Beispiel mit dem Rahmen:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import wx
class MainFrame(wx.Frame):
def __init__(self, parent=None, id=-1, title = "MyApp"):
wx.Frame.__init__(self, parent, id, title)
self.panel = wx.Panel(self, style=wx.SUNKEN_BORDER)
self.text = wx.TextCtrl(self.panel, pos=(10,10),
style=wx.DOUBLE_BORDER|wx.TE_MULTILINE)
font = wx.Font(18, wx.SWISS, wx.NORMAL, wx.NORMAL)
self.text.SetFont(font)
print >> self.text, "Hello Wordl"
def main():
app = wx.PySimpleApp()
mf = MainFrame()
mf.Show()
app.MainLoop()
if __name__ == "__main__":
main()
``self.text`` hat hier ein doppelten Rahmen und ``self.panel`` ist eingesunken.
EDIT:
Und hiermit würde die Schriftfarbe so eine Art braunrot ergeben:
``self.text.SetForegroundColour((190, 100, 100))``