gpt4 book ai didi

gtk - 以编程方式关闭gtk窗口

转载 作者:行者123 更新时间:2023-12-04 04:55:48 28 4
gpt4 key购买 nike

如果您在GTK中有一个子窗口,并且想以编程方式将其关闭(例如,按保存按钮或退出键),是否有首选的方法来关闭窗口?

例如。,

window.destroy()
# versus
window.emit('delete-event')

最佳答案

在PyGTK中删除窗口时(或与此相关的任何类型的小部件),应使用window.destroy()。当您调用window.destroy()时,窗口将自动发出delete-event事件。

此外,当使用PyGTK为事件发出信号时,几乎总是需要将事件对象也传递给发出方法(请参阅pyGObject documentation for the emit method)。尝试将gtk.gdk.Event(gtk.EVENT_DELETE)传递给对象的delete-event的emmit方法时,它将不起作用。例如:

Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
>>> w = gtk.Window()
>>> w.show()
>>> w.emit("delete-event", gtk.gdk.Event(gtk.gdk.DELETE))
False

不过,也许最好的方法是仅使用 del语句,该语句将自动删除窗口/小部件并为您做任何必要的清理。这样做比调用window.destroy()更具“Python风格”,后者将留下对被破坏的窗口的引用。

关于gtk - 以编程方式关闭gtk窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6005612/

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