Ejemplo n.º 1
0
    def paintEvent(self, QPaintEvent):
        painter = QPainter()
        painter.begin(self)
        painter.setPen(Qt.blue)
        #绘制弧
        #左上角位置,宽度,高度
        rect = QRect(0, 10, 100, 100)
        #alen:1 alen=1/16度 45*16=720
        painter.drawArc(rect, 0, 50 * 16)

        #绘制圆
        painter.setPen(Qt.red)
        painter.drawArc(120, 10, 100, 100, 0, 360 * 16)
        #绘制带弦的弧
        painter.drawChord(10, 120, 100, 100, 12, 130 * 16)
        #绘制扇形
        painter.drawPie(10, 240, 100, 100, 12, 130 * 16)
        #绘制椭圆
        painter.drawEllipse(120, 120, 150, 100)
        #5边形
        point1 = QPoint(140, 380)
        point2 = QPoint(270, 420)
        point3 = QPoint(219, 512)
        point4 = QPoint(290, 588)
        point5 = QPoint(120, 533)
        polygon = QPolygon([point1, point2, point3, point4, point5])
        painter.drawPolygon(polygon)

        #绘制图像
        image = QImage('./school.jpg')
        rect = QRect(300, 200, image.width() / 2, image.height() / 2)
        painter.drawImage(rect, image)
        # image.save('./school1.png')
        painter.end()
Ejemplo n.º 2
0
    def paintEvent(self, event):
        radius = 50

        treeSize = QSizeF(2 * radius, 2 * radius)
        bounds = QRectF((self.width() - treeSize.height()) / 2,
                        (self.height() - treeSize.width()) / 2,
                        treeSize.width(), treeSize.height())

        painter = QPainter(self)

        # draw the shadow
        painter.setBrush(Qt.black)
        painter.setPen(Qt.NoPen)
        painter.setOpacity(0.5)

        xrad = 95
        yrad = self.shadowLength * 20
        rect = QRectF(-xrad, -yrad, xrad, yrad)
        painter.translate(self.width() / 2, self.height() / 2)
        painter.rotate(self.angle)
        painter.translate(xrad / 2, yrad / 2)
        painter.drawChord(rect, 0, 180 * 16)
        painter.resetTransform()

        # draw the tree
        painter.setOpacity(1)
        self.tree.render(painter, bounds)

        # draw the compass
        bounds = QRectF(10, 10, 50, 50)
        self.compass.render(painter, bounds)
Ejemplo n.º 3
0
    def paintEvent(self, event):
        rect = QRect(10, 20, 80, 60)

        path = QPainterPath()
        path.moveTo(20, 80)
        path.lineTo(20, 30)
        path.cubicTo(80, 0, 50, 50, 80, 80)

        startAngle = 30 * 16
        arcLength = 120 * 16

        painter = QPainter(self)
        painter.setPen(self.pen)
        painter.setBrush(self.brush)
        if self.antialiased:
            painter.setRenderHint(QPainter.Antialiasing)

        for x in range(0, self.width(), 100):
            for y in range(0, self.height(), 100):
                painter.save()
                painter.translate(x, y)
                if self.transformed:
                    painter.translate(50, 50)
                    painter.rotate(60.0)
                    painter.scale(0.6, 0.9)
                    painter.translate(-50, -50)

                if self.shape == RenderArea.Line:
                    painter.drawLine(rect.bottomLeft(), rect.topRight())
                elif self.shape == RenderArea.Points:
                    painter.drawPoints(RenderArea.points)
                elif self.shape == RenderArea.Polyline:
                    painter.drawPolyline(RenderArea.points)
                elif self.shape == RenderArea.Polygon:
                    painter.drawPolygon(RenderArea.points)
                elif self.shape == RenderArea.Rect:
                    painter.drawRect(rect)
                elif self.shape == RenderArea.RoundedRect:
                    painter.drawRoundedRect(rect, 25, 25, Qt.RelativeSize)
                elif self.shape == RenderArea.Ellipse:
                    painter.drawEllipse(rect)
                elif self.shape == RenderArea.Arc:
                    painter.drawArc(rect, startAngle, arcLength)
                elif self.shape == RenderArea.Chord:
                    painter.drawChord(rect, startAngle, arcLength)
                elif self.shape == RenderArea.Pie:
                    painter.drawPie(rect, startAngle, arcLength)
                elif self.shape == RenderArea.Path:
                    painter.drawPath(path)
                elif self.shape == RenderArea.Text:
                    painter.drawText(rect, Qt.AlignCenter,
                            "PyQt by\nRiverbank Computing")
                elif self.shape == RenderArea.Pixmap:
                    painter.drawPixmap(10, 10, self.pixmap)

                painter.restore()

        painter.setPen(self.palette().dark().color())
        painter.setBrush(Qt.NoBrush)
        painter.drawRect(QRect(0, 0, self.width() - 1, self.height() - 1))
Ejemplo n.º 4
0
    def paintEvent(self, event):
        radius = 50
        
        treeSize = QSizeF(2 * radius, 2 * radius)
        bounds = QRectF( (self.width() - treeSize.height()) / 2,
                         (self.height() - treeSize.width()) / 2,
                         treeSize.width(),
                         treeSize.height())

        painter = QPainter(self)

        # draw the shadow
        painter.setBrush(Qt.black)
        painter.setPen(Qt.NoPen)
        painter.setOpacity(0.5)

        xrad = 95
        yrad = self.shadowLength * 20
        rect = QRectF(-xrad, -yrad, xrad, yrad)
        painter.translate(self.width() / 2, self.height() / 2)
        painter.rotate(self.angle)
        painter.translate(xrad/2, yrad/2)
        painter.drawChord(rect, 0, 180*16)
        painter.resetTransform()

        # draw the tree
        painter.setOpacity(1)
        self.tree.render(painter, bounds)

        # draw the compass
        bounds = QRectF( 10, 10, 50, 50)
        self.compass.render(painter, bounds)
Ejemplo n.º 5
0
    def paintEvent(self, event):
        painter = QPainter()
        painter.begin(self)

        painter.setPen(Qt.blue)
        # 绘制弧:参数表示 x、y坐标和宽高
        rect = QRect(0, 10, 200, 200)
        # 单位alen:等于1/16度
        painter.drawArc(rect, 0, 50 * 16)

        # 通过弧长绘制圆
        painter.setPen(Qt.red)
        painter.drawArc(220, 10, 100, 100, 0, 360 * 16)

        # 绘制带弦的弧
        painter.drawChord(10, 120, 100, 100, 13, 130 * 16)

        # 绘制扇形
        painter.drawPie(10, 240, 100, 100, 13, 130 * 16)

        # 绘制五边形
        point1 = QPoint(140, 380)
        point2 = QPoint(270, 420)
        point3 = QPoint(290, 512)
        point4 = QPoint(290, 588)
        point5 = QPoint(200, 533)

        painter.drawPolygon(QPolygon([point1, point2, point3, point4, point5]))

        # 绘制图形
        image = QImage('./images/color.png')
        painter.drawImage(QRect(400, 400, image.width(), image.height()),
                          image)
        painter.end()
Ejemplo n.º 6
0
    def paintEvent(self, event):
        rect = QRect(10, 20, 80, 60)

        path = QPainterPath()
        path.moveTo(20, 80)
        path.lineTo(20, 30)
        path.cubicTo(80, 0, 50, 50, 80, 80)

        startAngle = 30 * 16
        arcLength = 120 * 16

        painter = QPainter(self)
        painter.setPen(self.pen)
        painter.setBrush(self.brush)
        if self.antialiased:
            painter.setRenderHint(QPainter.Antialiasing)

        for x in range(0, self.width(), 100):
            for y in range(0, self.height(), 100):
                painter.save()
                painter.translate(x, y)
                if self.transformed:
                    painter.translate(50, 50)
                    painter.rotate(60.0)
                    painter.scale(0.6, 0.9)
                    painter.translate(-50, -50)

                if self.shape == RenderArea.Line:
                    painter.drawLine(rect.bottomLeft(), rect.topRight())
                elif self.shape == RenderArea.Points:
                    painter.drawPoints(RenderArea.points)
                elif self.shape == RenderArea.Polyline:
                    painter.drawPolyline(RenderArea.points)
                elif self.shape == RenderArea.Polygon:
                    painter.drawPolygon(RenderArea.points)
                elif self.shape == RenderArea.Rect:
                    painter.drawRect(rect)
                elif self.shape == RenderArea.RoundedRect:
                    painter.drawRoundedRect(rect, 25, 25, Qt.RelativeSize)
                elif self.shape == RenderArea.Ellipse:
                    painter.drawEllipse(rect)
                elif self.shape == RenderArea.Arc:
                    painter.drawArc(rect, startAngle, arcLength)
                elif self.shape == RenderArea.Chord:
                    painter.drawChord(rect, startAngle, arcLength)
                elif self.shape == RenderArea.Pie:
                    painter.drawPie(rect, startAngle, arcLength)
                elif self.shape == RenderArea.Path:
                    painter.drawPath(path)
                elif self.shape == RenderArea.Text:
                    painter.drawText(rect, Qt.AlignCenter,
                                     "PyQt by\nRiverbank Computing")
                elif self.shape == RenderArea.Pixmap:
                    painter.drawPixmap(10, 10, self.pixmap)

                painter.restore()

        painter.setPen(self.palette().dark().color())
        painter.setBrush(Qt.NoBrush)
        painter.drawRect(QRect(0, 0, self.width() - 1, self.height() - 1))
Ejemplo n.º 7
0
		def uiRecordPaintEventRecord(evt, iconSize=24, offsetX=32):
			midpoint = self.uiRecord.geometry().size()/2 - QSize(0, self.uiRecord.touchMargins()['bottom']/2)
			p = QPainter(self.uiRecord)
			p.setPen(QPen(QColor('#000000')))
			p.setBrush(QBrush(QColor('#f20000')))
			p.setRenderHint(QPainter.Antialiasing, True)
			p.drawChord( #xy/wh
				midpoint.width()-iconSize/2-offsetX, midpoint.height()-iconSize/2,
				iconSize, iconSize,
				0, 16*360, #start, end angle
			)
 def paintEvent(self, QPaintEvent):
     painter = QPainter()
     painter.begin(self)
     painter.setPen(QColor(self.color))
     painter.setBrush(QColor(self.color))
     painter.setRenderHint(QPainter.Antialiasing)
     #painter.drawRoundedRect(0, 5, self.geometry().width() - 5, self.geometry().height() - 7, 3, 3)
     painter.drawChord(QRect(20, self.height-50, 45, 45), 180 * 16, 180 * 16)
     geom = self.geometry()
     painter.drawRoundedRect(QRect(0, 0, geom.width(), geom.height() - 15), 6*self.scale, 6*self.scale)
     painter.setBrush(QColor("white"))
     painter.setPen(QColor("white"))
     painter.end()
Ejemplo n.º 9
0
    def paintEvent(self,event):  #paintEvent 当窗口变化是直接调用,不需要调用函数
        painter=QPainter()
 
        painter.begin(self)
        #设置画笔和字体
        painter.setPen(QColor(2,1,3))
        painter.setFont(QFont('SimSun',12))
 
        '''绘制圆弧'''
        #(1)确定绘制区域
        rect=QRect(0,0,100,100) #前两个值为左上角的坐标,后两个值为宽度和高度
        #(2)在区域绘制图形
        painter.drawArc(rect,0,50*16)  #后面两个参数为为起始的角度,和结束的角度,为什么乘16,因为单位为alen,一度=16alen,也就是50度为50*16
 
        '''绘制圆'''
        rect=QRect(100,0,50,50)
        painter.setPen(Qt.red)
        painter.drawArc(rect,0,360*16)
 
        '''绘制带弦的弧'''
        rect = QRect(200, 0, 50, 50)
        painter.drawChord(rect,1,90*16)
 
        '''绘制扇形'''
        rect = QRect(0,50, 50, 50)
        painter.drawPie(rect,12,76*16)
 
        '''绘制椭圆'''
        painter.drawEllipse(0,100,60,50)   #前两个参数为起始坐标,后两个为宽和高,当后两个参数一样为圆
 
        '''绘制多边形'''
        #绘制一个正方形
        p1=QPoint(100,100)
        p2=QPoint(130,100)
        p3=QPoint(130,130)
        p4=QPoint(100,130)
        polygon=QPolygon([p1,p2,p3,p4])
        painter.drawPolygon(polygon)
 
        '''绘制一个图形'''
        #(1)读取图像
        img=QImage('python.png')
        #(2)进行绘制,对图片的大小压说为原来的二分之一
        rect=QRect(100,100,img.width()/3,img.height()/3)
        painter.drawImage(rect,img)
 
 
 
        painter.end()
Ejemplo n.º 10
0
    def paintEvent(self, QPaintEvent):
        p = QPainter(self)
        p.setPen(self.pen)
        p.setBrush(self.brush)

        rect = QRect(50, 100, 300, 200)
        points = [
            QPoint(150, 100),
            QPoint(300, 150),
            QPoint(350, 250),
            QPoint(100, 300)
        ]
        startAngle = 30 * 16
        spanAngle = 120 * 16

        path = QPainterPath()
        path.addRect(150, 150, 100, 100)
        path.moveTo(100, 100)
        path.cubicTo(300, 100, 200, 200, 300, 300)
        path.cubicTo(100, 300, 200, 200, 100, 100)

        if self.shape == "Line":
            p.drawLine(rect.topLeft(), rect.bottomRight())
        elif self.shape == "Rectangle":
            p.drawRect(rect)
        elif self.shape == 'Rounded Rectangle':
            p.drawRoundedRect(rect, 25, 25, Qt.RelativeSize)
        elif self.shape == "Ellipse":
            p.drawEllipse(rect)
        elif self.shape == "Polygon":
            p.drawPolygon(QPolygon(points), Qt.WindingFill)
        elif self.shape == "Polyline":
            p.drawPolyline(QPolygon(points))
        elif self.shape == "Points":
            p.drawPoints(QPolygon(points))
        elif self.shape == "Pie":
            p.drawPie(rect, startAngle, spanAngle)
        elif self.shape == "Arc":
            p.drawArc(rect, startAngle, spanAngle)
        elif self.shape == "Chord":
            p.drawChord(rect, startAngle, spanAngle)
        elif self.shape == "Path":
            p.drawPath(path)
        elif self.shape == "Text":
            p.drawText(rect, Qt.AlignCenter, "Hello Qt!")
        elif self.shape == "Pixmap":
            p.drawPixmap(150, 150, QPixmap("images/qt-logo.png"))
 def paintEvent(self, QPaintEvent):
     painter = QPainter()
     painter.begin(self)
     painter.setPen(QColor(self.color))
     painter.setBrush(QColor(self.color))
     painter.setFont(QFont("Comic Sans MS", 15))
     painter.setRenderHint(QPainter.Antialiasing)
     painter.drawRoundedRect(QRect(0, 30*self.scale, self.geometry().width(), self.height-16-29*self.scale),
             6*self.scale, 6*self.scale)
     painter.drawChord(QRect(0, 5, self.width, 60*self.scale), 0 * 16, 180 * 16)
     geom = self.geometry()
     painter.drawChord(QRect(20, self.height-51, 45, 45), 180 * 16, 180 * 16)
     #painter.drawRoundedRect(QRect(0, 20, geom.width(), geom.height() - 15), 3, 3)
     painter.setBrush(QColor("white"))
     painter.setPen(QColor("white"))
     # painter.drawChord(QRect(20, 60, 45, 45), 180 * 16, 180 * 16)
     painter.drawText(15, 55*self.scale, self.content)
     painter.end()
Ejemplo n.º 12
0
    def paintEvent(self, QPaintEvent):
        painter = QPainter()

        painter.begin(self)

        # 绘制弧
        painter.setPen(Qt.red)
        rect = QRect(0, 0, 100, 100)                # 初始化一块矩形区域,前面两个是矩形所在的左上角坐标点,后面两个是矩形的长和宽
        # 绘图使用的单位是alen:1个alen等于1/16度
        painter.drawArc(rect, 0, 66 * 16)           # rect是弧形所在的区域,0是弧形的起始角度,60*16是弧形的终止角度

        # 使用绘制弧形函数来绘制圆
        painter.setPen(Qt.blue)
        painter.drawArc(200,0, 100,100, 0, 360 * 16)  # rect是弧形所在的区域,0是弧形的起始角度,60*16是弧形的终止角度

        # 绘制带弦的弧
        painter.setPen(Qt.yellow)
        painter.drawChord(300, 0, 100, 100, 0, 145 * 16)

        # 绘制扇形
        painter.setPen(Qt.cyan)
        painter.drawPie(0, 100, 100, 100, 0, 200 * 16)

        # 绘制椭圆
        painter.setPen(Qt.red)
        painter.drawEllipse(100, 100, 100, 150)

        # 绘制多边形:几变形就要指定几个点
        p1 = QPoint(10, 200)        #点的坐标
        p2 = QPoint(30, 200)        #点的坐标
        p3 = QPoint(200, 300)        #点的坐标
        p4 = QPoint(300, 300)       #点的坐标
        p5 = QPoint(100, 400)        #点的坐标

        po = QPolygon([p1, p2, p3, p4, p5])
        painter.drawPolygon(po)

        # 绘制图像
        image = QImage("./24.jpg")        # 加载图像
        rect1 = QRect(300, 300, image.width()/3, image.height()/3)
        painter.drawImage(rect1, image)


        painter.end()
Ejemplo n.º 13
0
    def paintEvent(self, event):
        painter = QPainter(self)
        painter.setPen(QPen(Qt.black, 5, Qt.SolidLine))
        # painter.setBrush(QBrush(Qt.red, Qt.SolidPattern))
        painter.setBrush(QBrush(Qt.red, Qt.VerPattern))

        points = QPolygon([
            QPoint(10, 10),
            QPoint(10, 100),
            QPoint(100, 10),
            QPoint(80, 100)
        ])

        painter.drawPolygon(points)

        painter.drawEllipse(150, 10, 50, 25)
        painter.drawRect(150, 70, 150, 100)
        painter.drawArc(150, 70, 150, 100, 0, 1400)
        painter.drawChord(150, 150, 0, 0, 50, 10)
Ejemplo n.º 14
0
    def paintEvent(self, event):
        painter = QPainter()
        painter.begin(self)

        painter.setPen(Qt.blue)

        #绘制弧
        rect = QRect(0, 10, 100, 100)
        # alen: 1个alen等于1/16度   45 * 16
        painter.drawArc(rect, 0, 90 * 16)

        painter.setPen(Qt.red)
        painter.drawArc(120, 10, 100, 100, 0, 360 * 16)

        # 绘制带弦的圆
        painter.drawChord(10, 120, 100, 100, 12, 130 * 16)

        # 绘制扇形
        painter.drawPie(10, 240, 100, 100, 12, 130 * 16)

        # 绘制椭圆
        painter.drawEllipse(120, 120, 150, 100)

        # 绘制5边形
        point1 = QPoint(140, 380)
        point2 = QPoint(270, 420)
        point3 = QPoint(290, 512)
        point4 = QPoint(290, 588)
        point5 = QPoint(200, 533)
        polygon = QPolygon([point1, point2, point3, point4, point5])
        painter.drawPolygon(polygon)

        # 绘制图像
        image = QImage('src\images\QQ截图20200219191139.jpg')
        rect = QRect(10, 400, image.width() / 3, image.height() / 3)
        painter.drawImage(rect, image)

        painter.end()
Ejemplo n.º 15
0
    def paintEvent(self, event):
        painter = QPainter()
        painter.begin(self)

        painter.setRenderHint(QPainter.Antialiasing)
        painter.setPen(Qt.NoPen)
        painter.setBrush(QBrush(QColor("#888888")))

        path1 = QPainterPath()
        path1.moveTo(5, 5)
        path1.cubicTo(40, 5, 50, 50, 99, 99)
        path1.cubicTo(5, 99, 50, 50, 5, 5)
        painter.drawPath(path1)

        painter.drawPie(130, 20, 90, 60, 30 * 16, 120 * 16)
        painter.drawChord(240, 30, 90, 60, 0, 16 * 180)
        painter.drawRoundedRect(20, 120, 80, 50, 10, 10)

        polygon = QPolygon()
        polygon.append(QPoint(130, 140))
        polygon.append(QPoint(180, 170))
        polygon.append(QPoint(180, 140))
        polygon.append(QPoint(220, 110))
        polygon.append(QPoint(140, 100))

        painter.drawPolygon(polygon)
        painter.drawRect(250, 110, 60, 60)

        baseline = QPointF(20, 250)
        font = QFont("Georgia", 55)

        path2 = QPainterPath()
        path2.addText(baseline, font, "Q")
        painter.drawPath(path2)

        painter.drawEllipse(140, 200, 60, 60)
        painter.drawEllipse(240, 200, 90, 60)
Ejemplo n.º 16
0
    def paintEvent(self, event):
        painter = QPainter(self)
        painter.begin(self)
        painter.setPen(Qt.blue)
        painter.setFont(QFont('SimSun', 50))

        # 绘制弧形
        rect = QRect(0, 10, 800, 800)  # 位置和大小
        painter.drawArc(rect, 180 * 16,
                        30 * 16)  # rect 区域,0起始位置,50*16表示50度 1度=16a

        # 绘制带弦的弧
        painter.drawChord(rect, 90 * 16, 30 * 16)

        # 绘制扇形
        painter.drawPie(10, 240, 100, 100, 12, 120 * 16)

        # 绘制椭圆
        painter.drawEllipse(50, 50, 50, 100)

        # 绘制多边形(多边形对象)
        point1 = QPoint(130, 120)
        point2 = QPoint(130, 150)
        point3 = QPoint(220, 180)
        point4 = QPoint(220, 170)
        point5 = QPoint(200, 150)
        # 多边形对象
        polygon = QPolygon([point1, point2, point3, point4, point5])
        painter.drawPolygon(polygon)

        # 绘制图片
        image = QImage(QPixmap('../images/ajax-loading.gif'))
        rect = QRect(100, 100, image.width(), image.height())
        painter.drawImage(rect, image)

        painter.end()
      player.changeSquaresize(self.squareSize)

  def paintEvent(self, event):
      """Brush event."""
    qp = QPainter()
    blackPen = QPen(QBrush(Qt.black),1)
    qp.begin(self)
    qp.setPen(blackPen)
    
    if self.begin_game:
      # If player has control of a square, then draw that players color. Either way, draw the grid.
      for row in self.board:
        for column in row:
          if column[1]:
            qp.setBrush(column[1])
            qp.drawChord(column[0],0,5760)
            qp.setBrush(0)
          qp.drawRect(column[0])
      i=0
      #Write out the scores of each plaayers
      for player in self.playerList:
        if i <2:
          qp.drawText(200,(yAxisSpace/4) +20*i,player.get_name() +" "+str(player.get_score()))
          i+=1
        else:
          qp.drawText(500,(yAxisSpace/4)+20*(i-2),player.get_name() +" "+str(player.get_score()))
          i+=1
      #Write out who's turn it is, and their multiplier
      for player in self.playerList:
        if player.get_turn():
          qp.drawText(5,yAxisSpace/4,player.get_name()+ " Go:")