Seite 1 von 1

Mit SetBrush gleichzeitig Farbe und Pattern übergeben

Verfasst: Donnerstag 19. September 2013, 15:33
von Pythoguras
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

Re: Mit SetBrush gleichzeitig Farbe und Pattern übergeben

Verfasst: Donnerstag 19. September 2013, 16:13
von 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.

Re: Mit SetBrush gleichzeitig Farbe und Pattern übergeben

Verfasst: Donnerstag 19. September 2013, 16:34
von Pythoguras
Danke sehr BlackJack, jetzt habe ich das verstanden :)

Mfg
Pythoguras

Re: Mit SetBrush gleichzeitig Farbe und Pattern übergeben

Verfasst: Freitag 20. September 2013, 09:49
von Madmartigan
[SPAM]
Pythoguras hat geschrieben:[...] ich habe schon alle möglichen Syntax-Varianten durchprobiert. [...]
Warum hab ich bei solchen Sätzen nur immer Bauchschmerzen... :roll: