視窗繪圖類控制元件-QPen
阿新 • • 發佈:2020-08-04
QPen(鋼筆)是一個基本的圖形物件,用於繪製直線、曲線或者給輪廓畫出矩形、橢圓形、多邊形及其他形狀等。
案例27 QPen的使用
import sys import math from PyQt5.QtWidgets import QWidget, QApplication from PyQt5.QtGui import QPainter, QColor, QFont, QPen from PyQt5.QtCore import Qt class DrawingDemo(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 280, 270) self.setWindowTitle("鋼筆樣式例子") self.resize(300, 200) def paintEvent(self, event): # 初始化繪圖工具 painter = QPainter(self) # 開始在視窗中繪製 painter.begin(self) # 自定義畫點方法self.drawLines(painter) # 結束在視窗中繪製 painter.end() def drawLines(self, qp): pen = QPen(Qt.black, 2, Qt.SolidLine) qp.setPen(pen) qp.drawLine(20, 40, 250, 40) pen.setStyle(Qt.DashLine) qp.setPen(pen) qp.drawLine(20, 80, 250, 80) pen.setStyle(Qt.DashDotLine) qp.setPen(pen) qp.drawLine(20, 120, 250, 120) pen.setStyle(Qt.DotLine) qp.setPen(pen) qp.drawLine(20, 160, 250, 160) pen.setStyle(Qt.DashDotDotLine) qp.setPen(pen) qp.drawLine(20, 200, 250, 200) pen.setStyle(Qt.CustomDashLine) pen.setDashPattern([1, 4, 5, 4]) qp.setPen(pen) qp.drawLine(20, 240, 250, 240) if __name__ == "__main__": app = QApplication(sys.argv) demo = DrawingDemo() demo.show() sys.exit(app.exec_())