2

gktmm4 有 macOS 菜单栏集成吗?谷歌搜索时,我发现 GTK2/3 有 gtk-mac-integration,但是 gtkmm4 呢?

我希望我的应用程序对 cmd+q 做出反应并具有工作的基本 macOS 菜单栏(我的意思是项目“应用程序名称”以及每个 macOS 应用程序都有的关于和退出项目)。

也许有一种使用objective-c代码的方法?

#import <Cocoa/Cocoa.h>

int menubarForm()
{
    [NSAutoreleasePool new];
    [NSApplication sharedApplication];
    [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
    id menubar = [[NSMenu new] autorelease];
    id appMenuItem = [[NSMenuItem new] autorelease];
    [menubar addItem:appMenuItem];
    [NSApp setMainMenu:menubar];
    id appMenu = [[NSMenu new] autorelease];
    id appName = [[NSProcessInfo processInfo] processName];
    id quitTitle = [@"Quit " stringByAppendingString:appName];
    id quitMenuItem = [[[NSMenuItem alloc] initWithTitle:quitTitle
        action:@selector(terminate:) keyEquivalent:@"q"] autorelease];
    [appMenu addItem:quitMenuItem];
    [appMenuItem setSubmenu:appMenu];

    return 0;
}

如果我将文件扩展名更改为 .mm,我的应用程序将编译,但它没有任何效果,因为此代码对 gtkmm 窗口一无所知...

4

0 回答 0