Aligning QMenuBar items (add some on left and some on right side)

xx77aBs picture xx77aBs · Jan 4, 2012 · Viewed 8k times · Source

Currently I have QMenuBar with three QActions and it looks like this:

enter image description here

but I would like to get this (get some QActions right-aligned):

enter image description here

Is there a way to do this?

Answer

t_3 picture t_3 · Jun 17, 2014

Probably the most simple solution to this particular problem is to use the corner widget. It can be used to place almost anything at the rightmost position, of course also a new menu bar:

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

QMenu *menu = new QMenu("Test menu", bar);
bar->addMenu(menu);

QAction *action = new QAction("Test action", bar);
bar->addAction(action);

ui->menuBar->setCornerWidget(bar);

Result:

Standard QMenuBar with additional rightmost 2nd QMenuBar

This is esp. helpful when the main menu is still to be edited in QDesigner...