2011-08-23 42 views
10

我試圖在我的應用程序中回收一些屏幕房地產。我有一個搜索欄,它是一個基本的QLineEdit,佔用空間。在我的菜單欄中,我很容易找到足夠的空間來放置此搜索框,但我無法弄清楚如何將LineEdit放到菜單欄中。如何將QLineEdit添加到Menubar

有人可以幫我把這添加到菜單嗎?

我正在使用Qt 4.7。

這是我嘗試完成的圖像。這是相當基本的形象,但我正在尋找使用菜單欄的右半部分作爲搜索框。

enter image description here

回答

16

使用QWidgetAction。 QWidgetAction用於將自定義小部件插入到基於操作的容器中,例如工具欄。

這裏有一個例子,以一個進度條添加到菜單欄:

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

@Andy你知道這是否可以通過Qt Designer完成嗎? – Dewsworld

5

你可以使用

無效QMenuBar :: setCornerWidget(QWidget的*插件,Qt的::角角落= Qt的:: TopRightCorner )

在菜單中添加您的小部件。

+1

哇..經過半天多的不同試驗和錯誤,這個簡單的方法解決了我的問題:-) (我需要在菜單欄的同一行上添加一個時鐘到我的應用程序的右上角) 謝謝! – ClimbingLung

+0

謝謝。它優雅地解決了我的問題。 – rugi

相關問題