Установите QMenu на TopRightCorner в QMenuBar

Может кто-нибудь объяснить, почему это утверждение ничего не делает?

ui.menuBar->setCornerWidget(ui.menuHelp, Qt::TopRightCorner);

menuBar это QMenuBar а также menuHelp является QMenu

Я все еще получаю все мои QMenu сгруппированы в левой части окна

1 ответ

Решение

Чтобы добавить меню в правую часть строки меню, вы должны добавить новый QMenuBar содержащий нужное меню в качестве правого угла виджета, используя setCornerWidget:

QMenuBar *bar = new QMenuBar(ui->menuBar);

QMenu *menuHelp = new QMenu("Help", bar);
bar->addMenu(menuHelp);

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