from PyQt5.Qt import *
class Window(QLabel):
def __init__(self):
super().__init__()
self.on_color=Qt.green
self.off_color=Qt.gray
self.resize(900,800)
self.flag=True
self.color=self.off_color
self.timer_id = self.startTimer(200)
self.image=QPixmap()
self.image.load('xxx.jpg')
self.image.fill(Qt.red)
def paintEvent(self, a0) -> None:
painter=QPainter(self)
painter.drawPixmap(0,0,800,700,self.image)
brush=QBrush()
brush.setColor(self.color)
brush.setStyle(Qt.BrushStyle.SolidPattern)
painter.setBrush(brush)
painter.drawEllipse(100,100,130,130)
pen=QPen()
pen.setColor(self.color)
pen.setStyle(Qt.CustomDashLine)
pen.setDashPattern([1,3,2,3])
pen.setWidth(6)
painter.setPen(pen)
painter.drawLine(30,110,600,110)
painter.end()
def on(self):
self.color=self.on_color
self.repaint()
def off(self):
self.color=self.off_color
self.repaint()
def swtich(self):
if self.flag==True:
self.on()
print("on")
self.flag=False
else:
self.off()
self.flag=True
print('no')
def timerEvent(self, evt) -> None:
self.swtich()
def stop(self):
self.killTimer(self.timer_id)
if __name__=='__main__':
import sys
app=QApplication(sys.argv)
win=Window()
win.show()
sys.exit(app.exec_())
旋转图片
#旋转
transform=QTransform()
transform.rotate(45)
self.image=self.image.transformed(transform)
完整代码
from PyQt5.Qt import *
class Window(QLabel):
def __init__(self):
super().__init__()
self.on_color=Qt.green
self.off_color=Qt.gray
self.resize(900,800)
self.flag=True
self.color=self.off_color
self.image=QPixmap()
self.image.load('xxx.jpg')
def paintEvent(self, a0) -> None:
painter=QPainter(self)
#旋转
transform=QTransform()
transform.rotate(45)
self.image=self.image.transformed(transform)
painter.drawPixmap(0,0,800,700,self.image)
brush=QBrush()
brush.setColor(self.color)
brush.setStyle(Qt.BrushStyle.SolidPattern)
painter.setBrush(brush)
painter.drawEllipse(100,100,130,130)
pen=QPen()
pen.setColor(self.color)
pen.setStyle(Qt.CustomDashLine)
pen.setDashPattern([1,3,2,3])
pen.setWidth(6)
painter.setPen(pen)
painter.drawLine(30,110,600,110)
painter.end()
if __name__=='__main__':
import sys
app=QApplication(sys.argv)
win=Window()
win.show()
sys.exit(app.exec_())