如何在菜单栏中添加QLineEdit

时间:2011-08-23 01:31:59

标签: qt qt4 menubar qlineedit

我试图在我的应用程序中回收一些屏幕空间。我有一个搜索栏,它是一个基本的QLineEdit并占用空间。在我的菜单栏中,我很容易有足够的空间来容纳这个搜索框,但我无法弄清楚如何将LineEdit放入菜单栏。

有人可以协助我将其添加到菜单栏中吗?

我正在使用Qt 4.7。

这是我试图完成的图像。这是相当基本的图像,但我希望将菜单栏的右半部分用作搜索框。

enter image description here

2 个答案:

答案 0 :(得分:17)

使用QWidgetAction。 QWidgetAction用于将自定义小部件插入基于操作的容器,例如工具栏。

这是一个向菜单栏添加进度条的示例:

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

答案 1 :(得分:6)

您可以使用

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

在菜单中添加小部件。