【问题标题】:Quit via dock menu and GTK通过停靠菜单和 GTK 退出
【发布时间】:2011-10-16 18:31:09
【问题描述】:

Mac OS X 中的每个应用程序在停靠菜单和菜单栏的应用程序菜单中都有退出菜单项。 但是这个项目在 GTK 应用程序中不起作用。即使在像这样的简单应用程序中http://www.levien.com/gimp/hello.html

我尝试使用 NSApplicationDelegate applicationShouldTerminate: 手动处理 Quit,但在这种情况下不会调用它。

有没有办法支持通过 Dock 菜单退出?

【问题讨论】:

    标签: cocoa macos gtk


    【解决方案1】:

    ige-mac-integration 为 OSX 中的 gtk 应用程序提供 Dock、Menu 和 bundle 集成

    您可以使用GtkOSXApplication 将您的 GtkMenu 集成到 OSX 全局菜单中。

    看看这些函数:

    • gtk_osxapplication_set_use_quartz_accelerators()
    • gtk_osxapplication_set_menu_bar()

    【讨论】:

      【解决方案2】:

      上面的答案几乎是正确的,您确实想使用GtkOSXApplication,但是由于您询问的是停靠栏的退出条目,因此您想连接到“NSApplicationBlockTermination”信号。 以下是我在 python 中使用它来捕获退出操作的方法:

      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() 即可。 注意:对于主菜单中的退出菜单项,您还需要一些技巧 - 此处未介绍。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-24
        • 1970-01-01
        • 1970-01-01
        • 2010-11-11
        • 1970-01-01
        • 2013-01-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多