如何获取给定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;
}
}
是否存在更好,更本土的方式?
答案 0 :(得分:2)
associatedWidgets()会返回添加此操作的小部件列表。
ui->action567->associatedWidgets();