主要内容 #
- 播放按钮模块
- 双击音乐列表模块
音乐 #
1. 播放按钮模块 #
以下程序完成音乐播放器的播放功能。
即,当按下播放键后,就可以播放该音乐。
def tips(self, message): """ 提示 """ QMessageBox.about(self, "提示", message) def play_music(self): """ 播放音乐 """ if self.qlist.count() == 0: self.tips('当前路径内无可播放的音乐文件') return if not self.player.isAudioAvailable(): self.set_cur_playing() if self.is_pause or self.is_switching: self.player.play() self.is_pause = False self.play_button.setText('暂停') elif (not self.is_pause) and (not self.is_switching): self.player.pause() self.is_pause = True self.play_button.setText('播放')
完成音乐文件的播放功能后,还需要设计一个按钮。
将该按钮与音乐播放的功能进行连接。
程序如下:
# 在self.init()中找到如下这部分代码 # --播放按钮 self.play_button = QPushButton('播放', self) # 播放/暂停按钮 # 并且在下一行增加如下这段代码 self.play_button.clicked.connect(self.play_music) # 设置对应操作
将以上所有代码加入到MusicPlayer类中,并且在self.init()函数中做好相应的修改。
再次运行程序,查看具体效果。
2. 双击音乐列表模块 #
以上程序中,我们只能听到当前一首音乐的播放。
当我们需要手动点击音乐选项时,却无任何效果。
以下程序则可以实现该功能:当在列表中双击某个音乐文件时,可以播放该音乐文件。
def double_clicked(self): """ 双击播放音乐 """ self.play_slider.setValue(0) # 滑动条设置为0 self.is_switching = True # 表征当前是通过手动切换的操作 self.set_cur_playing() # 设置为当前播放文件 self.play_music() # 播放对应文件 self.is_switching = False # 将对应flag设置为false
完成音乐文件的播放功能后,还需要设计一个按钮。
将该按钮与音乐播放的功能进行连接。
程序如下:
# 在self.init()中找到如下这部分代码 # --显示音乐列表 self.qlist = QListWidget() # 音乐列表 # 并且在下一行增加如下这段代码 self.qlist.itemDoubleClicked.connect(self.double_clicked) # 设置对应操作
将以上所有代码加入到MusicPlayer类中,并且在self.init()函数中做好相应的修改。
再次运行程序,查看具体效果。
3. 小结 #
- 本章完成了音乐播放器的播放按钮模块
- 本章完成了音乐播放器的双击音乐列表模块
习题 #
- 无