PyQt - Costanti BrushStyle

Stili QColor predefiniti

Qt.NoBrush Nessun motivo a pennello
Qt.SolidPattern Colore uniforme
Qt.Dense1Pattern Pennello estremamente denso
Qt.HorPattern Linee orizzontali
Qt.VerPattern Linee verticali
Qt.CrossPattern Incrocio di linee orizzontali e verticali
Qt.BDiagPattern Linee diagonali all'indietro
Qt.FDiagPattern Linee diagonali in avanti
Qt.DiagCrossPattern Incrocio di linee diagonali

Oggetti QColor predefiniti

Qt. Bianco
Qt. Nero
Qt.red
Qt.darkRed
Qt.green
Qt.darkGreen
Qt.blue
Qt. Ciano
Qt.magenta
Qt. Giallo
Qt. Giallo scuro
Qt. Grigio

Il colore personalizzato può essere scelto specificando i valori RGB, CMYK o HSV.

Esempio

L'esempio seguente implementa alcuni di questi metodi.

import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *

class Example(QWidget):

   def __init__(self):
      super(Example, self).__init__()
      self.initUI()
		
   def initUI(self):
      self.text = "hello world"
      self.setGeometry(100,100, 400,300)
      self.setWindowTitle('Draw Demo')
      self.show()
		
   def paintEvent(self, event):
      qp = QPainter()
      qp.begin(self)
      qp.setPen(QColor(Qt.red))
      qp.setFont(QFont('Arial', 20))
		
      qp.drawText(10,50, "hello Pyth
		on")
      qp.setPen(QColor(Qt.blue))
      qp.drawLine(10,100,100,100)
      qp.drawRect(10,150,150,100)
		
      qp.setPen(QColor(Qt.yellow))
      qp.drawEllipse(100,50,100,50)
      qp.drawPixmap(220,10,QPixmap("python.jpg"))
      qp.fillRect(200,175,150,100,QBrush(Qt.SolidPattern))
      qp.end()
		
def main():
   app = QApplication(sys.argv)
   ex = Example()
   sys.exit(app.exec_())
	
if __name__ == '__main__':
   main()

Il codice precedente produce il seguente output: