pyqt控制闪烁灯

 


前言


二、使用步骤

1.引入库

代码如下(示例):

from PyQt5.Qt import *


from PyQt5.Qt import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("layout的学习")
        self.resize(500,500)
        self.setup_ui()
        self.flag=True

    def setup_ui(self):
        label1 = QLabel()
        label2 = QLabel()
        label3 = QLabel()
        self.label1=label1
        self.label2=label2
        self.label3=label3

        btn1 = QPushButton('开启')


        gl=QFormLayout()
        self.setLayout(gl)

        gl.addRow(label1,btn1)
        gl.addRow(label2,)
        gl.addRow(label3)
        gl.setSpacing(50)
        label1.resize(100,100)
        label1.setPicture(self.pic())
        label3.setPicture(self.pic(color='yellow'))
        btn1.clicked.connect(self.time_start)

    def time_start(self):
        timer = QTimer(self)
        timer.timeout.connect(self.cao)
        timer.start(1000)
    def cao(self):
        if self.flag:
            self.label2.setPicture(self.pic(color='red'))
            self.flag=False
        else:
            self.label2.setPicture(self.pic(color='green'))
            self.flag=True

    def pic(self,color='green'):
        m=QPicture()
        painter=QPainter(m)
        brush=QBrush(QColor(color))
        painter.setBrush(brush)
        painter.drawEllipse(0,0,50,50)
        return m


if __name__ == '__main__':
    import sys
    app=QApplication(sys.argv)
    win=Window()
    win.show()
    sys.exit(app.exec_())

总结

使用QPicture这个类创建一个绘画的对象,利用painter绘制图片,然后把图片加载到label标签中。

做一个定时器,让label2标签里的图片每隔一秒自动切换图片。从而达到闪烁效果。这里只是巩固学习知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值