2010-09-29 9 views
16

Por favor, echar un vistazo a esta captura de pantalla:Cómo llevar el widget ¿Al frente en Qt?

enter image description here

Los círculos son los controles personalizados. Cuando hago clic en un control, necesito llevar el widget al frente. Ex. si hago clic en el segundo círculo que debería tener este aspecto:

enter image description here

Cuando se hace clic en el control Soy capaz de obtener el remitente (es decir, el control). Lo único es cómo llevar el objeto al frente.

Por favor, me ayuda a solucionar el problema.

+0

Podría especificar qué tipo son sus círculos ? ¿Y de qué tipo es la zona en la que los estás pintando? – Live

Respuesta

43

¿Has probado QWidget::raise()?

Levanta este widget al principio de la pila del widget principal. Después de esta llamada, el widget estará visualmente frente a cualquier widgets hermano superpuesto.
Nota: Al usar activateWindow(), puede llamar a esta función para asegurarse de que la ventana esté apilada en la parte superior.

Así se muestra el patrón lo general el uso que asegurará una ventana, traído a la parte delantera de hermanos widgets y llevado frente a otras aplicaciones es:

widget->show(); 
widget->activateWindow(); 
widget->raise(); 
Cuestiones relacionadas