emmm。。。。最近开始使用pyqt5,发现网上教程之少。。。于是自己写了一个、。。。大佬们有兴趣的就看看吧。留个言,如果你看少女终末旅行,那我们就是好朋友233
import sys
import pygame
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5 import QtWidgets, QtGui
from time import ctime,sleep
import threading
class yinyue(QThread):
def __int__(self):
pass
def run(self):
pygame.mixer.init()
track = pygame.mixer.music.load("new/girl.mp3")
pygame.mixer.music.play()
class WorkThread(QThread):
trigger = pyqtSignal()
def __int__(self):
super(WorkThread, self).__init__()
def run(self):
while True:
pass
self.trigger.emit() # 循环完毕后发出信号
timer = QTimer()
workThread = WorkThread()
yin=yinyue()
# 定义窗口函数window
class ceshi():
num=0
app = QtWidgets.QApplication(sys.argv)
# 新建一个窗口,名字叫做w
w = QtWidgets.QWidget()
# 定义w的大小
w.setGeometry(100, 100, 800, 400)
# 给w一个Title
w.setWindowTitle('lesson 2')
# 在窗口w中,新建一个lable,名字叫做l1
l1 = QtWidgets.QLabel(w)
id = 'new/girl0000' + '.jpg'
png = QtGui.QPixmap(id)
def work(self):
timer.start(43) # 计时器每秒计数
workThread.start() # 计时开始
workThread.trigger.connect(self.timeStop) # 当获得循环完毕的信号时,停止计数
def timeStop(self):
timer.stop()
def gequ(self):
yin.start()
def countTime(self):
self.num+=1
if(self.num<10):
self.id = 'new/girl000' + str(self.num) + '.jpg'
elif(self.num<100):
self.id = 'new/girl00' + str(self.num) + '.jpg'
elif(self.num<1000):
self.id = 'new/girl0' + str(self.num) + '.jpg'
else:
self.id = 'new/girl' + str(self.num) + '.jpg'
print(self.id)
self.png = QtGui.QPixmap(self.id)
# 在l1里面,调用setPixmap命令,建立一个图像存放框,并将之前的图像png存放在这个框框里。
if self.num>=1802:
pass
else:
self.l1.setPixmap(self.png)
def window(self,n):
# 我事实上不太明白干嘛要这一句话,只是pyqt窗口的建立都必须调用QApplication方法
# 调用QtGui.QPixmap方法,打开一个图片,存放在变量png中
# 在l1里面,调用setPixmap命令,建立一个图像存放框,并将之前的图像png存放在这个框框里。
self.l1.setPixmap(self.png)
# 调整l1和l2的位置
self.l1.move(100, 20)
# 显示整个窗口
self.gequ()
timer.timeout.connect(self.countTime) # 每次计时结束,触发setTime
self.work()
self.w.show()
# 退出整个app
self.app.exit(self.app.exec_())
a=ceshi()
a.window(1)
# 调用window这个函数
对了,再介绍一下,我在new文件夹放了1800张图片,外加girl.mp3,说白了就是图片不断切换,还是比较好玩233。有要整个资源的,可以留言,顺便,我是用pyinstaller打包的
本文介绍了一个使用PyQt5实现音乐播放和图片连续切换的应用。通过创建线程来播放mp3音乐,并利用QTimer进行定时触发,实现图片每隔一定时间自动更换。在new文件夹下放置了1800张图片和一首girl.mp3,当图片数量达到1802时停止。整个应用使用pyinstaller打包。

4325

被折叠的 条评论
为什么被折叠?



