使用Ctrl C停止Python Gtk.Application
发布时间:2020-12-16 07:20:18 所属栏目:百科 来源:网络整理
导读:我正在创建一个应用程序.以前,我使用Gtk.Main()来启动我的应用程序,并创建了一些钩子来使用Ctrl C从命令行停止应用程序.现在,我已将应用程序迁移到更“标准”的Gtk.Application,但是可以不让它停止使用Ctrl C. 这是一个非常简单的Gtk.Application,当从命令行
我正在创建一个应用程序.以前,我使用Gtk.Main()来启动我的应用程序,并创建了一些钩子来使用Ctrl C从命令行停止应用程序.现在,我已将应用程序迁移到更“标准”的Gtk.Application,但是可以不让它停止使用Ctrl C.
这是一个非常简单的Gtk.Application,当从命令行运行时,无法使用Ctrl C停止它: from gi.repository import Gtk import sys # a Gtk ApplicationWindow class MyWindow(Gtk.ApplicationWindow): # constructor: the title is "Welcome to GNOME" and the window belongs # to the application app def __init__(self,app): Gtk.Window.__init__(self,title="Welcome to GNOME",application=app) class MyApplication(Gtk.Application): # constructor of the Gtk Application def __init__(self): Gtk.Application.__init__(self) # create and activate a MyWindow,with self (the MyApplication) as # application the window belongs to. # Note that the function in C activate() becomes do_activate() in Python def do_activate(self): win = MyWindow(self) # show the window and all its content # this line could go in the constructor of MyWindow as well win.show_all() # start up the application # Note that the function in C startup() becomes do_startup() in Python def do_startup(self): Gtk.Application.do_startup(self) # create and run the application,exit with the value returned by # running the program app = MyApplication() exit_status = app.run(sys.argv) sys.exit(exit_status) 解决方法import signal from gi.repository import GLib ... GLib.unix_signal_add(GLib.PRIORITY_DEFAULT,signal.SIGINT,app.quit) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |