Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在Mac的应用程序菜单中添加自定义菜单项?_C++_Macos_Qt_Qmenu_Qmenubar - Fatal编程技术网

C++ 如何在Mac的应用程序菜单中添加自定义菜单项?

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

我想在Mac的应用程序菜单中添加一个子菜单。应用程序菜单已包含“关于myapp”、“退出myapp”等项。我想在此添加一个子菜单,如“主题”,然后在其中提供操作,如:“主题1”“主题2”,等等

所以应该是这样的:

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不存在此方法。可能您必须自己创建整个菜单结构。