PyQt - Hằng số BrushStyle

Kiểu màu QC được xác định trước

Qt.NoBrush Không có mẫu bàn chải
Qt.SolidPattern Màu đồng nhất
Qt.Dense1Pattern Mẫu cọ cực kỳ dày đặc
Qt.HorPattern Đường ngang
Qt.VerPattern Đường thẳng đứng
Qt.CrossPattern Giao nhau giữa các đường ngang và dọc
Qt.BDiagPattern Các đường chéo ngược
Qt.FDiagPattern Chuyển tiếp các đường chéo
Qt.DiagCrossPattern Giao nhau các đường chéo

Đối tượng màu QC được xác định trước

Qt.white
Qt.black
Qt.red
Qt.darkRed
Qt.green
Qt.darkGreen
Qt.blue
Qt.cyan
Qt.magenta
Qt.yellow
Qt.darkYellow
Qt.gray

Màu tùy chỉnh có thể được chọn bằng cách chỉ định các giá trị RGB hoặc CMYK hoặc HSV.

Thí dụ

Ví dụ sau đây thực hiện một số phương pháp này.

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

Đoạn mã trên tạo ra kết quả sau: