Использование макета QMenuBar - PullRequest
0 голосов
/ 23 октября 2010

Возможно ли получить макет из объекта QMenuBar и добавить к нему элементы.То, что я пытаюсь сделать, это строка меню, содержащая пользовательские виджеты (часы и виджет входа / выключения) справаЭтот код вылетает.

QPushButton *b1 = new QPushButton("Button",ui->menuBar);
QHBoxLayout *rlayout = new QHBoxLayout(this);
ui->menuBar->layout()->addItem(rlayout);
rlayout->addWidget(b1);
b1->show();

Есть ли другой способ?С уважением, Валентин Хайниц

Ответы [ 2 ]

1 голос
/ 26 октября 2010

Можно ли создать собственный контейнерный виджет, поместить строку меню слева, а другие виджеты справа?Это должно сделать вас похожими по функциональности и внешнему виду с Qt3-версией строки меню.

0 голосов
/ 23 октября 2010

Вы должны посмотреть на QWidgetAction , который позволяет вам вставлять пользовательский виджет в меню.Затем вам нужно было бы позвонить QMenuBar::addAction(QAction*), чтобы поместить QWidgetAction в строку меню.

Я знаю, что это не часть вашего вопроса, но возможно QDockWidget сделать лучшую работу за то, что вам нужно ??

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...