C++ 如何在Mac的应用程序菜单中添加自定义菜单项?
我想在Mac的应用程序菜单中添加一个子菜单。应用程序菜单已包含“关于myapp”、“退出myapp”等项。我想在此添加一个子菜单,如“主题”,然后在其中提供操作,如:“主题1”,“主题2”,等等 所以应该是这样的:C++ 如何在Mac的应用程序菜单中添加自定义菜单项?,c++,macos,qt,qmenu,qmenubar,C++,Macos,Qt,Qmenu,Qmenubar,我想在Mac的应用程序菜单中添加一个子菜单。应用程序菜单已包含“关于myapp”、“退出myapp”等项。我想在此添加一个子菜单,如“主题”,然后在其中提供操作,如:“主题1”,“主题2”,等等 所以应该是这样的: Menu Myapp-> Themes-> Theme 1 Theme 2 主菜单是您已有的菜单。可以使用以下代码添加子菜单 QMenu* mainMenu = new QMenu( "Menu" ); QMenu* theme
Menu Myapp->
Themes->
Theme 1
Theme 2
主菜单是您已有的菜单。可以使用以下代码添加子菜单
QMenu* mainMenu = new QMenu( "Menu" );
QMenu* themesMenu = new QMenu( "Themes" );
mainMenu->addMenu( themesMenu );
themesMenu->addAction( "Theme 1" );
themesMenu->addAction( "Theme 2" );
但是我认为您需要向addAction(…)
函数添加一些其他输入参数,例如添加应该在菜单上执行的插槽。关于这个函数
在我看来,这似乎没有得到方便的支持。虽然可以为QAction对象调用setMenuRole(QAction::ApplicationSpecificRole),但QMenu不存在此方法。可能您必须自己创建整个菜单结构。