2011-08-23 21 views
10

? Estoy intentando reclamar algunos bienes inmuebles de pantalla en mi aplicación. Tengo una barra de búsqueda que es un QLineEdit básico y ocupa espacio. En mi barra de menú, fácilmente tengo suficiente espacio para caber en este cuadro de búsqueda, pero no puedo encontrar la forma de hacer que LineEdit entre en la barra de menú.¿Cómo puedo agregar un QLineEdit a la barra de menú

¿Alguien me puede ayudar a agregar esto a una barra de menú?

Estoy usando Qt 4.7.

Aquí hay una imagen de lo que estoy tratando de lograr. Es una imagen bastante básica, pero estoy buscando usar la mitad derecha de la barra de menú como cuadro de búsqueda.

enter image description here

Respuesta

16

Uso QWidgetAction. QWidgetAction es para insertar widgets personalizados en contenedores basados ​​en acción, como barras de herramientas.

aquí es un ejemplo para agregar la barra de progreso de la barra de menús:

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

@Andy ¿Sabes si esto se puede hacer a través de Qt Designer? – Dewsworld

5

Usted podría utilizar

vacío QMenuBar :: setCornerWidget (QWidget * widget Qt :: esquina esquina = Qt :: TopRightCorner)

para agregar su widget en el menú.

+1

Guau .. Después de más de medio día de diferentes pruebas y errores este sencillo método resolvió mi problema :-) (necesitaba agregar un reloj a la esquina derecha de mi aplicación en la misma "línea" con la barra de menú) Gracias! – ClimbingLung

+0

Gracias. Solucionó mi problema elegantemente. – rugi

Cuestiones relacionadas