2011-05-12 13 views
0

Mac OS X中的每個應用程序在停靠欄菜單和菜單欄的應用程序菜單中都有退出菜單項。 但是這個項目在GTK應用程序中不起作用。即使在像這樣的簡單應用程序中http://www.levien.com/gimp/hello.html通過停靠欄菜單和GTK退出

我試圖用NSApplicationDelegate applicationShouldTerminate:手動處理退出,但在此情況下不會調用它。

有什麼方法可以通過Dock菜單支持退出嗎?

回答

0

ige-mac-integration提供碼頭,菜單和捆綁集成在OSX

您可以使用GtkOSXApplication您GtkMenu融入全球OSX菜單GTK應用程序。

看看這些功能:

  • gtk_osxapplication_set_use_quartz_accelerators()
  • gtk_osxapplication_set_menu_bar()
0

上面的答案几乎是正確的,你想使用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()當您完成。 注意:主菜單中的退出菜單項需要一些更多的技巧 - 這裏沒有涉及。