PyQt - Stałe BrushStyle

Predefiniowane style QColor

Qt.NoBrush Brak wzoru pędzla
Qt.SolidPattern Jednolity kolor
Qt.Dense1Pattern Niezwykle gęsty wzór pędzla
Qt.HorPattern Linie poziome
Qt.VerPattern Pionowe linie
Qt.CrossPattern Przekraczanie linii poziomych i pionowych
Qt.BDiagPattern Ukośne linie do tyłu
Qt.FDiagPattern Linie ukośne do przodu
Qt.DiagCrossPattern Skrzyżowanie ukośnych linii

Predefiniowane obiekty QColor

Qt. Biały
Qt.black
Qt.red
Qt.darkRed
Qt.green
Qt.darkGreen
Qt.blue
Qt.cyan
Qt.magenta
Qt. Żółty
Qt.darkYellow
Qt.gray

Kolor niestandardowy można wybrać, określając wartości RGB, CMYK lub HSV.

Przykład

Poniższy przykład implementuje niektóre z tych metod.

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()

Powyższy kod daje następujące dane wyjściowe -