在MacOS上禁用wxWidgets菜单

问题描述 投票:0回答:1

我使用CMake使用wxWidgets 3.1.3构建Mac应用程序。

我使用的是标准的 wxMenu 创建菜单,在Windows和Linux上运行良好,但在MacOS上启动应用程序后,菜单被禁用,直到将焦点转移到另一个应用程序并返回。

代码。

wxMenu* menuFile = new wxMenu;
wxMenu* menuHelp= new wxMenu;
// fill the menus ...
wxMenuBar* menuBar = new wxMenuBar;
menuBar->Append(menuFile, "&File");
menuBar->Append(menuHelp, "&Help");
SetMenuBar(menuBar);
macos cmake wxwidgets
1个回答
2
投票

MaxOS bundle应该在CMakeLists.txt脚本中设置。

if(APPLE)
    set_target_properties(app-target PROPERTIES
        MACOSX_BUNDLE TRUE
        XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "" # to disable code sign
    )
endif()

现在MacOS应用程序将被创建(.app),而不仅仅是一个可执行文件。

这也解决了从Finder启动时出现控制台的问题。

© www.soinside.com 2019 - 2024. All rights reserved.