Python旧版课程库
Python第 05 期 - 应用查看课程总览

153 pyqt小应用-播放器 4

主要内容

  • 上一首按钮操作模块
  • 下一首按钮操作模块
  • 1. 上一首按钮操作模块

    以下程序完成的功能是:当点击上一首按钮时,音乐播放器的音乐会切换到上一首并播放。
    
    
    	    def preview_music(self):
    	        """
    	        上一首
    	        """
    	        self.play_slider.setValue(0)
    	        if self.qlist.count() == 0:
    	            self.tips('当前路径内无可播放的音乐文件')
    	            return
    	        pre_row = self.qlist.currentRow(
    	        ) - 1 if self.qlist.currentRow() != 0 else self.qlist.count() - 1
    	        self.qlist.setCurrentRow(pre_row) # 获取上一首音乐在列表中到id
    	        self.is_switching = True # 表征当前是通过切换的操作
    	        self.set_cur_playing() # 设置当前播放文件
    	        self.play_music() # 播放音乐
    	        self.is_switching = False # 对应flag置为False
    
    
    完成音乐文件的上一首按钮操作,还需要设计一个按钮。 将该按钮与对应的功能进行连接。 程序如下:
    
    
        # 在self.init()中找到如下这部分代码
        # --上一首按钮
        self.preview_button = QPushButton('上一首', self) # 上一首按钮
    
        # 并且在下一行增加如下这段代码
    	self.preview_button.clicked.connect(self.preview_music)  # 设置对应操作
    
    
    将以上所有代码加入到MusicPlayer类中,并且在self.init()函数中做好相应的修改。 再次运行程序,查看具体效果。

    2. 下一首按钮操作模块

    以下程序完成的功能是:当点击下一首按钮时,音乐播放器的音乐会切换到下一首音乐并播放。
    
    
            def next_music(self):
                """
                下一首
                """
                self.play_slider.setValue(0)
                if self.qlist.count() == 0:
                    self.tips('当前路径内无可播放的音乐文件')
                    return
                next_row = self.qlist.currentRow(
                ) + 1 if self.qlist.currentRow() != self.qlist.count() - 1 else 0
                self.qlist.setCurrentRow(next_row) # 获取下一首音乐在列表中到id
                self.is_switching = True # 表征当前是通过切换的操作
                self.set_cur_playing() # 设置当前播放文件
                self.play_music() # 播放音乐
                self.is_switching = False # 对应flag置为False
    
    
    完成音乐文件的下一首按钮操作,还需要设计一个按钮。 将该按钮与对应的功能进行连接。 程序如下:
    
    
        # 在self.init()中找到如下这部分代码
        # --下一首按钮
        self.next_button = QPushButton('下一首', self) # 下一首按钮
    
        # 并且在下一行增加如下这段代码
    	self.next_button.clicked.connect(self.next_music) # 设置对应操作
    
    
    将以上所有代码加入到MusicPlayer类中,并且在self.init()函数中做好相应的修改。 再次运行程序,查看具体效果。

    3. 小结

    • 本章完成了音乐播放器的上一首操作模块
    • 本章完成了音乐播放器的下一首操作模块

    习题