如何知道给定QAction的父菜单?

时间:2014-08-14 05:54:35

标签: c++ qt

我有一个QActions列表,其中一些已添加到顶级菜单中,很少会添加到顶级子菜单中。

有没有办法知道每个动作的父菜单名称?

QAction *act;

我正在尝试act->parentWidget()。但是如何从中获取菜单名称?

1 个答案:

答案 0 :(得分:3)

您可以检查act->parentWidget()的结果是否是有效指针,如果是,您可以将其作为普通小部件进行操作。

要获取菜单名称,取决于您使用的是哪个小部件。

如果是QMenu,您可以通过标题功能检索菜单标题。

QAction *act;
...
QWidget *widget = act->parentWidget();
if (widget) {
    QMenu *menu = dynamic_cast<QMenu*>(widget);
    menu->title();
}