gpt4 book ai didi

python - 关闭窗口并不是退出应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:21 31 4
gpt4 key购买 nike

我正在阅读有关 builder.connect_signals 的内容,它将林间空地文件的处理程序与 python 文件中的方法进行映射。显然可以工作,但主窗口除外,当您关闭它时,主窗口不会被破坏。如果您从终端运行它仍在运行,并且必须按 Ctrl-C 才能完全关闭应用程序。

这是我的Python代码:

#!/usr/bin/env python
import pygtk
import gtk
#from gi.repository import Gtk
import gtk.glade


class Mixer:

def __init__(self):
self.gladefile = "mixer3.glade"
self.wTree = gtk.Builder()
self.wTree.add_from_file(self.gladefile)
window = self.wTree.get_object("window1")
#if (window):
# window.connect("destroy", gtk.main_quit)

#line_btn = self.wTree.get_object("toggle_linein")
#line_btn.connect("on_toggle_linein_activate", btn_linein_activated)
self.wTree.connect_signals(self)
window.show_all() # must have!


def on_toggle_linein_clicked(self, widget):
print "Clicked"


def Destroy(self, obj):
gtk.main_quit()


if __name__ == "__main__":
m = Mixer()
gtk.main()

最佳答案

关闭窗口时,您的窗口会被销毁,但程序的主循环不会停止,您必须将 destroy 事件连接到从最后一行代码运行的循环中退出的方法/函数。对以下代码行进行一些更改:

#if (window):
# window.connect("destroy", gtk.main_quit)

更改为:

if (window):
window.connect("destroy", self.Destroy)

关于python - 关闭窗口并不是退出应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28147183/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com