PyQt - Константы BrushStyle
Предопределенные стили 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()
Приведенный выше код дает следующий вывод -