2011-08-23 9 views
10

Próbuję odzyskać część ekranu nieruchomości w mojej aplikacji. Mam pasek wyszukiwania, który jest podstawową wersją QLineEdit i zajmuje miejsce. Na moim pasku menu mam dość miejsca, aby zmieścić to pole wyszukiwania, ale nie mogę się dowiedzieć, jak dodać LineEdit do paska menu.Jak dodać obiekt QLineEdit do Menubar

Czy ktoś może mi pomóc w dodaniu tego dodanego do paska menu?

Używam Qt 4.7.

Oto obraz tego, co próbuję osiągnąć. Jest to dość podstawowy obraz, ale zamierzam użyć prawej połowy paska menu jako pola wyszukiwania.

enter image description here

Odpowiedz

16

Zastosowanie QWidgetAction. QWidgetAction służy do wstawiania niestandardowych widgetów do kontenerów opartych na działaniach, takich jak paski narzędzi.

tutaj jest przykład dodać progressbar na pasku menu:

QWidgetAction *widgetAction = new QWidgetAction(this); 
widgetAction->setDefaultWidget(new QProgressBar(this)); 
menubar.addAction(widgetAction); 
+0

@Andy Czy wiesz, czy można to zrobić za pomocą Qt Designer? – Dewsworld

5

Można użyć

void QMenuBar :: setCornerWidget (QWidget * widget, Qt :: Corner corner = Qt :: TopRightCorner)

, aby dodać widżet do menu.

+1

Wow .. Po ponad pół dnia różnych prób i błędów ta prosta metoda rozwiązała mój problem :-) (Musiałem dodać zegar w prawym rogu aplikacji na tej samej "linii" z paskiem menu) Dzięki! – ClimbingLung

+0

Dzięki. To rozwiązało mój problem elegancko. – rugi

Powiązane problemy