python绘制多边形的程序_python – 在PyQt中绘制一个多边形

我不确定,你的意思是什么

on the screen

你可以使用QPainter在QPaintDevice的任何子类上绘制很多形状,例如QWidget和所有子类.

最小的是为线条和文本设置笔,为填充设置画笔.然后创建一个多边形,在paintEvent()中设置多边形和绘制的所有点:

import sys, math

from PyQt5 import QtCore, QtGui, QtWidgets

class MyWidget(QtWidgets.QWidget):

def __init__(self, parent=None):

QtWidgets.QWidget.__init__(self, parent)

self.pen = QtGui.QPen(QtGui.QColor(0,0,0)) # set lineColor

self.pen.setWidth(3) # set lineWidth

self.brush = QtGui.QBrush(QtGui.QColor(255,255,255,255)) # set fillColor

self.polygon = self.createPoly(8,150,0) # polygon with n points, radius, angle of the first point

def createPoly(self, n, r, s):

polygon = QtGui.QPolygonF()

w = 360/n # angle per step

for i in range(n): # add the points of polygon

t = w*i + s

x = r*math.cos(math.radians(t))

y = r*math.sin(math.radians(t))

polygon.append(QtCore.QPointF(self.width()/2 +x, self.height()/2 + y))

return polygon

def paintEvent(self, event):

painter = QtGui.QPainter(self)

painter.setPen(self.pen)

painter.setBrush(self.brush)

painter.drawPolygon(self.polygon)

app = QtWidgets.QApplication(sys.argv)

widget = MyWidget()

widget.show()

sys.exit(app.exec_())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值