QT中使用线程播放音乐的问题

最近在做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并没有执行