• 7961阅读
  • 7回复

如何获得QMenuBar上的all QAction [复制链接]

上一主题 下一主题
离线20044454
 
只看楼主 倒序阅读 楼主  发表于: 2009-08-04
rt         如何获得QMenuBar上的all QAction
让我做一个Qt的大牛!!!!
离线shiroki

只看该作者 1楼 发表于: 2009-08-04
QList<QAction *> actions () const
看看成不成
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线20044454
只看该作者 2楼 发表于: 2009-08-05
可以获得自己添加的 不能获得全部 比如说 我想获得QMainWindows 的最小化的QAction
让我做一个Qt的大牛!!!!
离线shiroki

只看该作者 3楼 发表于: 2009-08-05
请说明你到底想要做什么
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线dinotiger510
只看该作者 4楼 发表于: 2009-08-26
可能楼主和我遇到同样的问题,就是想获得所有MenuBar上的QAction,2楼说的那QList<QAction *> actions () const 返回的是菜单目录个数,而不是所有的QAction。我也正在找方法,希望有知道的高人指教。
离线20044454
只看该作者 5楼 发表于: 2009-08-26
这个问题我解决了, 比较麻烦,
就是把得到各个actions 遍历 后添加到 一个新建的容器中去
让我做一个Qt的大牛!!!!
离线dinotiger510
只看该作者 6楼 发表于: 2009-08-28
QMenuBar 通过actions函数可以返回所有菜单,但得到的是QAction。
因此我想的是,直接通过Qmenubar上的所有菜单Qmenu,用Qmenu执行actions函数,返回此菜单上的所有QAction,再将这些Qmenu返回的QList <QAction*>相加,得到所有的QAction 。但遇到一个问题,因为我在一个菜单中又有子菜单,也就是Qmenu中加入了Qmenu作为子项。这样在返回此菜单中的所有QAction时就会将这个子菜单也当做QAction给返回回来。
目前还没找到函数可以加以区分QAction与QMenu。不过我想,如果循环便利一个Qmenu的所有返回QAction,通过比较其text是否与已知菜单的text相同,来排除加入菜单中的子菜单。只是这样的方法很笨。麻烦。
楼主可以考虑看看,如又新的IDea,可以发帖出来,大家探讨哈。
离线dinotiger510
只看该作者 7楼 发表于: 2009-08-28
楼主已经解决,请问楼主,如果菜单中有子菜单,Actions函数返回时包含又子菜单项哦,你如何区分子菜单与QAction。
在Qt4中,子菜单添加到一个菜单中,采用的时menu1->addAction(menu2->currentAction())。通过这样的方式,使一个菜单与另一个菜单关联起来的。
也不知道写对没,但意思你应该也清楚了。如果知道,麻烦告知。谢谢
快速回复
限100 字节
 
上一个 下一个