pyqt5 播放音乐加切换图片

来源:互联网 发布:linux ssh2 编辑:程序博客网 时间:2024/06/07 20:03

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打包的