前言
二、使用步骤
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标签里的图片每隔一秒自动切换图片。从而达到闪烁效果。这里只是巩固学习知识。