QMenuBar 通过actions函数可以返回所有菜单,但得到的是QAction。
因此我想的是,直接通过Qmenubar上的所有菜单Qmenu,用Qmenu执行actions函数,返回此菜单上的所有QAction,再将这些Qmenu返回的QList <QAction*>相加,得到所有的QAction 。但遇到一个问题,因为我在一个菜单中又有子菜单,也就是Qmenu中加入了Qmenu作为子项。这样在返回此菜单中的所有QAction时就会将这个子菜单也当做QAction给返回回来。
目前还没找到函数可以加以区分QAction与QMenu。不过我想,如果循环便利一个Qmenu的所有返回QAction,通过比较其text是否与已知菜单的text相同,来排除加入菜单中的子菜单。只是这样的方法很笨。麻烦。
楼主可以考虑看看,如又新的IDea,可以发帖出来,大家探讨哈。