pyqt 子窗口控制主窗口绘图_PyQt5——窗口绘图类控件

本文介绍了PyQt5中用于窗口绘图的QPainter、QPen和QBrush类。QPainter是绘图工具,用于在QWidget上执行绘图操作;QPen设置线条样式,包括不同类型的线条;QBrush用于填充形状,支持多种填充模式。文章通过实例展示了如何使用这些类进行图形绘制。
摘要由CSDN通过智能技术生成

窗口绘图类控件

在PyQt5中,一般可以通过QPainter、QPen和QBrush这三个类来实现绘图的功能。

QPainter

QPainter类在QWidget上执行绘图操作,它是一个绘制工具,为大部分图形界面提供了高度优化的函数,是QPainter类可以绘制从简单的直线到复杂的饼图。

绘制操作在QWidget.painEvent()中完成,绘制方法必须放在QtGui.QPainter对象的begin()和end()之间。QPainter类在控件或其他绘图设备上执行较低级别的图形绘制功能。

方法

方法  描述

begin()  开始在目标设备上绘制

drawArc()  在起始角度和最终角度之间画弧

drawEllipse()  在一个矩形内画一个椭圆

drawLine(int x1,int y1,int x2,int y2)  绘制一条指定了端点坐标的线。

drawPixmap()  从图像文件中提取Pixmap并将其显示在指定的位置

drawPolygon()  使用坐标数组绘制多边形

drawReact()  给定宽度w和高度h从左上角(x,y)绘制一个矩形

drawText()  显示给定坐标处的文字

fillRect()  使用QColor参数填充矩形

setBrush()  设置画笔风格

setPen()  设置用于绘制的笔的颜色、大小和样式

还可以设置画笔风格(PenStyle),这是一个枚举类,可以由QPainter类绘制。

枚举类型  描述

Qt.NoPen  没有线,比如QPainter.drawRect()填充,但没有绘制任何边界线

Qt.SolidLine  一个简单的线

Qt.DashLine  由一些像素分隔的短线

Qt.DotLine  由一些像素分割点

Qt.DashDotLine  轮流交替的点和短线

Qt.DashDotDotLine  一个短线、两个点

Qt.MPenStyle  画笔风格的掩码

# -*- coding: utf-8 -*-

import sys

from PyQt5.QtWidgets import QApplication, QWidget

from PyQt5.QtGui import QPainter, QColor, QFont

from PyQt5.QtCore import Qt

class Drawing(QWidget):

def __init__(self, parent = None):

super(Drawing, self).__init__(parent)

self.setWindowTitle("在窗口中绘制文字")

self.resize(300,200

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值