如何在最后一个窗口关闭后退出pygtk应用程序

5 投票
2 回答
3293 浏览
提问于 2025-04-17 03:11

有没有办法让我告诉gtk,当应用程序最后一个打开的窗口关闭或被销毁时,自动调用gtk.main_quit()

如果没有直接的功能可以实现这个,我想到以下方法:在窗口的销毁方法中,获取当前进程中打开窗口的列表,如果这个列表为空,就退出。有没有办法获取这样的列表呢?

显而易见的解决方案是手动跟踪所有打开的窗口,但我希望如果可以的话,避免这样做。

2 个回答

2

使用方法 gtk.main_level() 可以获取当前主循环的嵌套级别。每当你调用 gtk.main() 函数时,嵌套级别就会增加,而调用 gtk.main_quit() 函数时,嵌套级别就会减少。

6

主窗口的销毁信号必须连接到 gtk main_quit:

window.connect("destroy", gtk.main_quit)

撰写回答