PyQt - 画刷样式常量



预定义 QColor 样式

Qt.NoBrush 无画刷图案
Qt.SolidPattern 均匀颜色
Qt.Dense1Pattern 极密集的画刷图案
Qt.HorPattern 水平线
Qt.VerPattern 垂直线
Qt.CrossPattern 交叉水平和垂直线
Qt.BDiagPattern 向后对角线
Qt.FDiagPattern 向前对角线
Qt.DiagCrossPattern 交叉对角线

预定义 QColor 对象

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

可以通过指定 RGB 或 CMYK 或 HSV 值来选择自定义颜色。

示例

以下示例实现了其中的一些方法。

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

以上代码产生以下输出 -

BrushStyle Constants Output
广告