Mit SetBrush gleichzeitig Farbe und Pattern übergeben

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Pythoguras
User
Beiträge: 8
Registriert: Donnerstag 19. September 2013, 11:35

Hallo,

ich verzweifle gerade an einer QPainter-Methode, mittels der ich ein grünes Rechteck im Dense2Pattern-Style zeichnen möchte. Wie kann ich über setBrush einem QPainter-Objekt die Farbe und das Pattern bzw. den Style gleichzeitig übergeben? Rein intuitiv hätte ich an folgende Möglichkeit gedacht, aber die funktioniert nicht:

Code: Alles auswählen

paint.setBrush(QtGui.QColor(50, 150, 50, 255), QtGui.Dense2Pattern)
Der Syntax-Hinweis

Code: Alles auswählen

QBrush(QColor, Qt.BrushStyle style=Qt.SolidPattern)
von dieser Seite hat mir auch nicht weitergeholfen - ich habe schon alle möglichen Syntax-Varianten durchprobiert.

Mfg
Pythoguras
BlackJack

@Pythoguras: Du musst der `setBrush()`-Methode *ein* Objekt von Typ `QBrush()` übergeben. Und *dessen* `__init__()` kannst Du zwei Argumente übergeben — die Farbe und das Muster.

Edit: In der Qt-Dokumentation wäre das dann https://qt-project.org/doc/qt-4.8/qpain ... l#setBrush und https://qt-project.org/doc/qt-4.8/qbrush.html#QBrush-3

Man muss sich ein wenig C++ aneignen, zumindest was das lesen von Funktions- und Methodensignaturen angeht und ein Gefühl dafür bekommen wie das auf die Python-API abgebildet wird.
Pythoguras
User
Beiträge: 8
Registriert: Donnerstag 19. September 2013, 11:35

Danke sehr BlackJack, jetzt habe ich das verstanden :)

Mfg
Pythoguras
Benutzeravatar
Madmartigan
User
Beiträge: 200
Registriert: Donnerstag 18. Juli 2013, 07:59
Wohnort: Berlin

[SPAM]
Pythoguras hat geschrieben:[...] ich habe schon alle möglichen Syntax-Varianten durchprobiert. [...]
Warum hab ich bei solchen Sätzen nur immer Bauchschmerzen... :roll:
Antworten