Wie macht man nicht modalen Dialog Aufenthalt auf den übergeordneten in Solaris CDE

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

  •  20-09-2019
  •  | 
  •  

Frage

Ich habe ein Problem mit Qt modalen Dialog in Solaris 8/10 Maschine mit CDE (Common Desktop Environment).

Der Dialog dient als Zeichentafel / Pop-up, die erforderlich Benutzer die Werkzeuge von Hauptanwendung zu wählen, bevor Sie fortfahren auf sich zu ziehen. Das Problem ist, wenn Benutzer klicken Sie auf Hauptleiste, dann wird der Dialog wird hinter der Hauptanwendung geht.

Beachten Sie, dass dies das Verhalten nur CDE Zusammenhang, öffnen Sie die Windows-Umgebung oder Solaris Java-Umgebung dieses Problem nicht verursachen.

Meine Frage ist, wie kann ich es immer an der Spitze der Mutter machen (Hauptanwendung)?

Ich habe versucht, in WX11BypassWM Flagge in den Dialog zu passieren, um durch Pass-Window-Manager, aber dann ist die Grenze und Rahmen fort, die den Dialog nicht per Drag / move-able führen.

Update 1:

Im Hinblick auf die Andy Antwort :

Ich habe Qt::WStyle_StaysOnTop versucht, aber es funktioniert nicht.

Ich habe auch versucht zu kombinieren:

WX11BypassWM | WStyle_StaysOnTop | WStyle_Title

und andere combinationa von WStyle_DialogBorder, WType_TopLevel usw., es nur Aufenthalte an der Spitze, wenn WX11BypassWM in geben wird.

Aber immer, wenn WX11BypassWM geben wird in dem Dialog angezeigt wird nicht hat Grenze noch die tittle bar.

Was es ist ein unmove-able Schnick weniger Dialog bedeutet.

Update 2:

Da ich keine Lösung für dieses Problem, für vorerst nicht finden, ich es beheben, indem Ändern der Größe und Neupositionierung der Hauptanwendung und die modalen Dialognebeneinander zu sein.

Das zumindest wird der Benutzer navigieren sowohl Schnittstelle lassen.

Wer wenn einen besseren Vorschlag hat dann lassen Sie es mich wissen.

Keine korrekte Lösung

Andere Tipps

Ich bin nicht sicher, verstehe ich, Ihre Frage, aber wäre es nicht möglich sein, zu verwenden:

Gefunden in QtAssistant:

enum Qt::WindowType
flags Qt::WindowFlags

Qt :: WindowStaysOnTopHint :

„Informiert das Fenstersystem, dass das Fenster über alle anderen Fenster bleiben soll.“

Ich hoffe, es hilft ein wenig!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top