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