0

如何获取给定 QAction 的父菜单?我在子菜单中添加了一个 QActions。

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

ui->action567->parent() //return MainWindow
ui->action567->parentWidget() //return MainWindow
ui->action567->menu() //return nullptr.
ui->action567->actionGroup() //return nullptr.

我可以通过这种方式获取父菜单:

for( QMenu * menu : ui->menuBar->findChildren< QMenu * >() )
{
    if( menu->actions().contains( ui->action567 ) )
    {
        qDebug() << menu << ui->action567 ;
        break;
    }
}

是否存在更好、更原生的方式?

4

1 回答 1

2

associatedWidgets()将返回您添加此操作的小部件列表。

ui->action567->associatedWidgets();
于 2015-08-14T09:15:58.753 回答