• 15537阅读
  • 6回复

从QMenu菜单中获得所有QAction,但不要子菜单,请赐教 [复制链接]

上一主题 下一主题
离线dinotiger510
 
只看楼主 倒序阅读 楼主  发表于: 2009-08-27
在Qt4中,QAction被加入到Qmenu中成为菜单中的一个子项。在Qmenu中又可以有子菜单Qmenu,在子菜单中又有QAction作为子项。不知道这样说您明白没?
我想得到一个Qmenu菜单中所有子项,也就是所有可点击响应的按钮QAction。通过Qmenu的一个函数Qaction(),可以返回一个菜单的所有子项,但其中又包括了子菜单,而我不要子菜单项。
看明白意思的可以回答如下:
所以,请问各位大虾,知道如何区分一个Qmenu中的QAction和子菜单Qmenu。我考虑是遍历一个Qmenu下的所有项,由此区分子菜单Qmenu。这样就能获得所有QAction。
离线dinotiger510
只看该作者 1楼 发表于: 2009-08-28
怎么没人回答?祈求高手!
离线shiroki

只看该作者 2楼 发表于: 2009-08-28
qmenu的actions能得到action的列表, 然后每个qaction去查看它的 menu(), 不为空的就是子菜单
--
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
只看该作者 3楼 发表于: 2009-09-01
谢谢,我已经解决。
离线yueyz818

只看该作者 4楼 发表于: 2009-12-02
qt 4.53的版本里,QMenu里面好象没有actions 啊,只要一个actionGroup啊。怎么办?
离线dbzhang800

只看该作者 5楼 发表于: 2009-12-02
引用第4楼yueyz818于2009-12-02 00:48发表的  :
qt 4.53的版本里,QMenu里面好象没有actions 啊,只要一个actionGroup啊。怎么办?


QMenu  Inherits QWidget

List<QAction *> QWidget::actions () const
离线lanmanck

只看该作者 6楼 发表于: 2022-03-08
for(auto ac : menu->actions()){
    if(ac->menu())
        continue;
    qDebug() <<ac->text();
}
精彩博客:labisart.com
快速回复
限100 字节
 
上一个 下一个