QAction родительское меню

Как получить родительское меню данного 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;
    }
}

Существует ли лучший и более родной путь?

1 ответ

Решение

relatedWidgets() вернет вам список виджетов, к которым было добавлено это действие.

ui->action567->associatedWidgets();
Другие вопросы по тегам