Cómo hacer que la estancia de diálogo no modal en la parte superior de su matriz en Solaris CDE

StackOverflow https://stackoverflow.com/questions/1754866

  •  20-09-2019
  •  | 
  •  

Pregunta

Tengo un problema con Qt diálogo no modal en Solaris 8/10 máquina utilizando CDE (Common Desktop Environment).

El diálogo sirve como panel de dibujo / emergente que requiere el usuario para elegir las herramientas de aplicación principal antes de proceder a dibujar en ella. El problema es que cada vez que el usuario haga clic en la barra de herramientas principal de la aplicación, a continuación, la voluntad de diálogo va detrás de la aplicación principal.

Tenga en cuenta que este es el comportamiento perteneciente al CDE única, ambiente abierto de Windows o el entorno Java de Solaris no causan este problema.

Mi pregunta es ¿cómo puedo hacer que sea siempre en la parte superior de su padre (aplicación principal)?

He tratado de pasar en la bandera de WX11BypassWM al diálogo, a por el gestor de ventanas pase, pero entonces la frontera y el marco se ha ido que hacen que el diálogo para no arrastrar / desplazar factible.

Actualización 1:

Con respecto a Andy respuesta :

He intentado Qt::WStyle_StaysOnTop, pero no funciona.

También he intentado combinar:

WX11BypassWM | WStyle_StaysOnTop | WStyle_Title

y el otro combinationa de WStyle_DialogBorder, WType_TopLevel etc, sólo se mantiene en la cima si WX11BypassWM se pasa.

Sin embargo, cada vez que se pasa en WX11BypassWM, el diálogo que se muestra arriba no tendrá fronteras ni la barra de titulo.

Lo que significa que es un diálogo unmove-poder-tilde menos.

Actualización 2:

Ya que no puedo encontrar una solución para este problema, por el momento, me resolverlo cambiando el tamaño y la posición de la aplicación principal y el diálogo no modal ser al lado del otro.

Esto al menos le permitirá usuario a navegar tanto en la interfaz.

Cualquier persona si tiene una idea mejor a continuación, hágamelo saber.

No hay solución correcta

Otros consejos

No estoy seguro de haber entendido su pregunta, pero, ¿no sería posible utilizar:

Encontrados en QtAssistant:

enum Qt::WindowType
flags Qt::WindowFlags

Qt :: WindowStaysOnTopHint

"Se informa al sistema de ventanas que la ventana debe estar al tanto de todas las demás ventanas."

espero que ayude un poco!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top