python - Python:如何在 Tkinter 中关闭根窗口时获取
问题描述
我一直在用 Tkinter 进行一些应用程序构建,但我偶然发现了一个问题,即关闭主Tk()
窗口不会杀死底层的 python shell。我很快意识到 python-vlc 实际上导致程序一直等到我播放的歌曲停止。
我认为简单地放置 andexit()
或quit()
之后root.mainloop()
就足够了,但是在窗口关闭后它似乎并没有执行它,所以我意识到我需要的是一种在窗口时调用 Mediaplayer.stop() 函数的方法已经关了。
注意:不是我的实际代码,而是行为示例
import vlc
class Manager():
def __init__(self):
self.root = Tk()
self.song = vlc.Mediaplayer("Song.mp3")
song.start()
self.root.mainloop()
print("Killing Program...")
exit()
当 self.root 关闭时:
预期:歌曲停止,python shell 关闭。
观察到:歌曲在 python shell 关闭之前播放n秒。
注意:我在终端中将文件作为 .pyw 文件运行,不知道这是否会影响任何东西,但是在 IDLE 或我的 IDE(Jupyter Lab)中运行时,我达到了相同的效果。
解决方案
推荐阅读
- google-cloud-platform - Google Cloud Function + Python
- android - How to add a view to WindowManager that appears below AlertDialog
- c# - C# Substring on a Windows Mobile Device throwing an 'out of valid range' error with valid range
- python - Download/install code from github for python?
- docker - 无法看到 docker 使用 overlayfs
- powershell - 发送带有可变信息的电子邮件正文
- angular - Angular 5 case sensitivity
- mysql - beginTransaction using async await node js 8
- python - Python multiprocessing.Pool: AttributeError
- c# - Most efficient way to transmit 32768 int16_t values over USB?