Mac OS X中的每个应用程序在停靠栏菜单和菜单栏的应用程序菜单中都有退出菜单项。 但是这个项目在GTK应用程序中不起作用。即使在像这样的简单应用程序中http://www.levien.com/gimp/hello.html通过停靠栏菜单和GTK退出
我试图用NSApplicationDelegate applicationShouldTerminate:
手动处理退出,但在此情况下不会调用它。
有什么方法可以通过Dock菜单支持退出吗?
Mac OS X中的每个应用程序在停靠栏菜单和菜单栏的应用程序菜单中都有退出菜单项。 但是这个项目在GTK应用程序中不起作用。即使在像这样的简单应用程序中http://www.levien.com/gimp/hello.html通过停靠栏菜单和GTK退出
我试图用NSApplicationDelegate applicationShouldTerminate:
手动处理退出,但在此情况下不会调用它。
有什么方法可以通过Dock菜单支持退出吗?
ige-mac-integration提供码头,菜单和捆绑集成在OSX
您可以使用GtkOSXApplication
您GtkMenu融入全球OSX菜单GTK应用程序。
看看这些功能:
gtk_osxapplication_set_use_quartz_accelerators()
gtk_osxapplication_set_menu_bar()
上面的答案几乎是正确的,你想使用GtkOSXApplication,但因为你是问有关码头的退出你想连接的条目“NSApplicationBlockTermination”的信号。 下面是我如何使用它的蟒蛇赶戒烟行动:
macapp = gtk_osxapplication.OSXApplication()
macapp.set_dock_icon_pixbuf(some_pixbuf)
macapp.set_menu_bar(my_menubar)
macapp.connect("NSApplicationBlockTermination", your_exit_callback)
然后刚从your_exit_callback调用gtk.main_quit()当您完成。 注意:主菜单中的退出菜单项需要一些更多的技巧 - 这里没有涉及。