我有一个QActions列表,其中一些已添加到顶级菜单中,很少会添加到顶级子菜单中。
有没有办法知道每个动作的父菜单名称?
QAction *act;
我正在尝试act->parentWidget()
。但是如何从中获取菜单名称?
答案 0 :(得分:3)
您可以检查act->parentWidget()
的结果是否是有效指针,如果是,您可以将其作为普通小部件进行操作。
要获取菜单名称,取决于您使用的是哪个小部件。
如果是QMenu,您可以通过标题功能检索菜单标题。
QAction *act;
...
QWidget *widget = act->parentWidget();
if (widget) {
QMenu *menu = dynamic_cast<QMenu*>(widget);
menu->title();
}