我是靠谱客的博主 任性溪流,最近开发中收集的这篇文章主要介绍PyQt5之窗口绘图类控件QPenPyQt5之窗口绘图类控件QPen,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

PyQt5之窗口绘图类控件QPen

QPen是一个基本的图形对象,用于绘制直线、曲线或者给轮廓画出矩形、椭圆形、多边形及其其他形状。

QPen的使用

import sys,math
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

class Win(QWidget):
    def __init__(self):
        super().__init__()
        self.setGeometry(300, 300,400, 300)
        self.setWindowTitle('QPen的使用')

    def paintEvent(self, event):
        painter = QPainter()
        painter.begin(self)
        #自定义绘制方法
        self.drawLines(painter)
        painter.end()

    def drawLines(self,painter):
        pen = QPen(Qt.black,2,Qt.SolidLine)#设置画笔
        painter.setPen(pen)
        painter.drawLine(20,40,250,40)

        pen.setStyle(Qt.DashLine)
        painter.setPen(pen)
        painter.drawLine(20,80,250,80)

        pen.setStyle(Qt.DashDotLine)
        painter.setPen(pen)
        painter.drawLine(20, 120, 250, 120)

        pen.setStyle(Qt.DotLine)
        painter.setPen(pen)
        painter.drawLine(20, 160, 250, 160)

        pen.setStyle(Qt.DashDotDotLine)
        painter.setPen(pen)
        painter.drawLine(20, 200, 250, 200)

        pen.setStyle(Qt.CustomDashLine)
        pen.setDashPattern([1, 4, 5, 4])
        painter.setPen(pen)
        painter.drawLine(20, 240, 250, 240)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = Win()
    form.show()
    sys.exit(app.exec_())

代码分析: 在这个例子中,使用6种不同的线条样式绘制了6条线,其中前5条线使用的是预定义的线条样式,最后一条线使用自定义线条样式绘制。

  • pen = QPen(Qt.black,2,Qt.SolidLine)创建一个QPen对象,将颜色设置为黑色,宽度设置为2像素,Qt.SolidLine是预定义的线条之一;
  • 最后一条线,使用Qt.CustomDashLine创建线条样式,调用setDashPattern()方法使用数字列表定义样式。数字列表的个数必须是偶数,奇数位代表一段横线,偶数位代表两端横线之间的空余距离。本例中数字列表的含义是:1像素宽度的横线,4像素宽度的空余距离,5像素宽度的横线,4像素的空余距离。

运行效果如下:

在这里插入图片描述

最后

以上就是任性溪流为你收集整理的PyQt5之窗口绘图类控件QPenPyQt5之窗口绘图类控件QPen的全部内容,希望文章能够帮你解决PyQt5之窗口绘图类控件QPenPyQt5之窗口绘图类控件QPen所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部