[gelöst] Grafische Elemente erstellen mit wxPython

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
Mawilo
User
Beiträge: 452
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Hallo,

ich benötige für ein wx-Programm verschiedene grafische Darstellungen,
deren Länge variiert (Abhängig von einem Minutenwert). Eine Linie oder
ein Rechteck zeichnen, sollte kein Problem sein. Wie kann ich aber andere
Objekte erzeugen (z.B. xxxxx, OOOOOO, ØØØØØØ, «««««, vvvvv, Wellenlinie, u.a.)?

Hier ein Beispiel, wie das Ganze in etwa aussehen soll (es müssen natürlich viel mehr grafische Elemente möglich sein):

Bild


Mawilo
Zuletzt geändert von Mawilo am Samstag 8. Dezember 2007, 17:57, insgesamt 1-mal geändert.
Benutzeravatar
Mawilo
User
Beiträge: 452
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Ich habe mittlerweile eine Möglichkeit gefunden. Das Zauberwort heißt "Stipple".
Voraussetzung ist eine bmp-Datei, die das gewünschte Muster enthält. Diese habe ich selbst mit Gimp erstellt.
Mit folgendem Code wird das Rechteck mit dem Muster gefüllt:

Code: Alles auswählen

    def drawLine(self):
        brush = wx.Brush(self.color)
        brush.SetStipple(self.bmp)
        brush.SetStyle(wx.STIPPLE)
        self.dc.SetBrush(brush)
        pen = wx.Pen(self.color, 1, wx.TRANSPARENT)
        self.dc.SetPen(pen)
        self.dc.DrawRectangle(self.x, self.y, self.width, self.height)
Den Rahmen des Rechteckes habe ich verschwinden lassen. So habe ich in etwa den gewünschten Effekt erzielt.

Mawilo
Antworten