spinner.py 文件源码

python
阅读 32 收藏 0 点赞 0 评论 0

项目:gpvdm 作者: roderickmackenzie 项目源码 文件源码
def drawWidget(self, qp):
        color = self.palette().color(QPalette.Background)
        qp.setBrush(QColor(100,0,0))

        pen=QPen()
        pen.setWidth(self.width()/10)

        pen.setColor(QColor(0,0,255))
        pen.setCapStyle(Qt.RoundCap)

        w=self.width()/2
        x_shift=w+w*0.05
        y_shift=w+w*0.05
        r=0.35*w
        r1=w*0.8
        qp.setPen(pen)

        my_max=100
        p=[]
        c=[]
        for phi in range(0,360,30):
            p.append(phi)
            c.append(0)
        f=0
        for i in range(0,len(p)):
            if p[i]>self.delta:
                f=i
                break
        i=f
        m=1.0
        while(i>=0):
            c[i]=m
            m=m*0.7
            i=i-1

        i=len(c)-1

        while(i>f):
            c[i]=m
            m=m*0.7
            i=i-1

        for i in range(0,len(p)):
            self.pos=p[i]
            x = r *  cos( (2*pi)*self.pos/360 )
            y = r *  sin( (2*pi)*self.pos/360 )

            x1 = r1 *  cos( (2*pi)*self.pos/360 )
            y1 = r1 *  sin( (2*pi)*self.pos/360 )
            cb=self.blue_target*c[i]+color.blue()*(1.0-c[i])
            cg=self.green_target*c[i]+color.green()*(1.0-c[i])
            cr=self.red_target*c[i]+color.red()*(1.0-c[i])

            pen.setColor(QColor(cr,cg,cb))
            qp.setPen(pen)
            qp.drawLine(x+x_shift,y+y_shift,x1+x_shift,y1+y_shift)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号