from PyQt5.Qt import *
class Window(QLabel):
def __init__(self,parent=None):
super().__init__(parent)
self.parent=parent
self.setMinimumSize(100,100)
self.angle=0
self.flag=True
self.timer=QTimer(self)
self.timer.timeout.connect(self.start)
self.start()
def paintEvent(self, event) -> None:
width=self.width()
height=self.height()
painter=QPainter(self)
painter.translate(width/2,height/2)
#自适应
side=min(width,height)
painter.scale(side/300.0,side/300.0)
painter.setRenderHints(QPainter.Antialiasing)
painter.begin(self)
painter.rotate(self.angle)
self.draw_triangle(painter)
def draw_triangle(self,painter):
painter.setBrush(QBrush(Qt.darkBlue,Qt.SolidPattern))
triangle=QPolygon()
triangle.setPoints(0,0,100,0,100,100)
painter.drawPolygon(triangle)
triangle.setPoints(0, 0, 0, 100, -100, 100)
painter.drawPolygon(triangle)
triangle.setPoints(0, 0, -100, 0, -100, -100)
painter.drawPolygon(triangle)
triangle.setPoints(0, 0, 0, -100, 100, -100)
painter.drawPolygon(triangle)
def start(self):
self.timer.start(100)
self.angle+=30
self.update()
def stop(self):
self.timer.stop()
if __name__ == '__main__':
import sys
app=QApplication(sys.argv)
win=Window()
win.show()
sys.exit(app.exec_())
pyqt绘制风扇
最新推荐文章于 2024-06-25 17:37:18 发布