Как я могу добавить QLineEdit в Menubar - PullRequest
10 голосов
/ 23 августа 2011

Я пытаюсь вернуть себе экранную недвижимость в своем приложении. У меня есть панель поиска, которая является основным QLineEdit и занимает место. В моей строке меню у меня достаточно места, чтобы вместить это окно поиска, но я не могу понять, как вывести LineEdit в строку меню.

Может ли кто-нибудь помочь мне добавить это в меню?

Я использую Qt 4.7.

Вот изображение того, чего я пытаюсь достичь. Это довольно простое изображение, но я хочу использовать правую половину строки меню в качестве поля поиска.

enter image description here

Ответы [ 2 ]

17 голосов
/ 23 августа 2011

Использование QWidgetAction . QWidgetAction предназначен для вставки пользовательских виджетов в контейнеры на основе действий, такие как панели инструментов.

Вот пример добавления индикатора выполнения в строку меню:

QWidgetAction *widgetAction = new QWidgetAction(this);
widgetAction->setDefaultWidget(new QProgressBar(this));
menubar.addAction(widgetAction);
6 голосов
/ 30 января 2013

Вы можете использовать

void QMenuBar :: setCornerWidget (виджет QWidget *, Qt :: Corner corner = Qt :: TopRightCorner)

, чтобы добавить свой виджет в меню.

...