您的位置:首页 > 编程语言 > Qt开发

pyqt5 播放音乐加切换图片

2017-11-30 23:41 621 查看
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打包的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  pyqt 音乐 python
相关文章推荐