最近在做QT的开发,我希望在一个QThread里使用QMediaPlayer完整播放完一首音乐在退出,但由于QMediaPlayer的play()函数是异步执行的,在执行后直接进入下一行代码,并没有等待播放完。而且我尝试在后面进行QMediaPlayer的状态检查,并等待,但我发现QMediaPlayer的状态始终没有变化,而且QMediaPlayer的signal绑定的所有slot函数均未执行。也就是说,我完全没有办法获取当前QMediaPlayer的状态来停止当前线程
```python
#。。。。。
self.player.mediaStatusChanged.connect(self.stopThread)
#。。。。。
self.player.play()
while self.player.state()==self.player.PlayingState:
self.sleep(0.5)
**运行结果及报错内容**
程序一直卡在while的循环里,同时self.stopThread并没有执行