使用PyQt和PyGame.music()关闭Python程序

使用PyQt和PyGame.music()关闭Python程序,python,python-3.x,pyqt,pygame,pyqt4,Python,Python 3.x,Pyqt,Pygame,Pyqt4,我一直在用python开发一个媒体播放器,它使用pygame.mixer播放音乐,使用PyQt4构建UI 我目前正在使用while循环检查一首歌是否已完成,以便可以从队列中加载下一首歌。为了确保用户在while循环运行时仍然可以与PyQt按钮交互,我将QtCore.QCoreApplication.processEvents()放入while循环中 但是,现在当我在播放音乐时关闭主窗口时,程序不会停止(正常情况下会停止),音乐会继续播放。 播放音乐时,程序也无法检测到app.aboutToQui

我一直在用python开发一个媒体播放器,它使用pygame.mixer播放音乐,使用PyQt4构建UI

我目前正在使用while循环检查一首歌是否已完成,以便可以从队列中加载下一首歌。为了确保用户在while循环运行时仍然可以与PyQt按钮交互,我将QtCore.QCoreApplication.processEvents()放入while循环中

但是,现在当我在播放音乐时关闭主窗口时,程序不会停止(正常情况下会停止),音乐会继续播放。 播放音乐时,程序也无法检测到app.aboutToQuit.connect()命令(这意味着在不播放音乐时可以检测)


任何帮助都将不胜感激。

我不久前找到了这个问题的答案,所以我想我应该把它放在这里给其他人看

我在ui中给程序一个内部退出按钮,然后调用按钮os.\u退出(0)。当时它工作得很好

检查Python和PyQt文档时,没有给出在执行while循环时关闭应用程序窗口的注释


任何其他解决方案都将不胜感激。

显然,您需要在适当的时候添加一个条件语句来打破循环。@ekhumoro是的,我已经考虑过这个问题,但我不确定您可以使用什么条件来打破循环。我在这个网站和文档中做了一些研究。有可能我忽略了一些显而易见的事情。。。