Come rendere dialogo non modale soggiorno sulla parte superiore del suo genitore in CDE Solaris

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

  •  20-09-2019
  •  | 
  •  

Domanda

Ho un problema con Qt di dialogo non modale in Solaris 8/10 macchina utilizzando CDE (Common Desktop Environment).

La finestra di servire da pannello di disegno / pop-up che ha richiesto all'utente di scegliere gli strumenti da principale prima di procedere a disegnare su di esso. Il problema è che ogni volta che l'utente clicca sulla barra degli strumenti principale, quindi la finestra di volontà va dietro l'applicazione principale.

Si noti che questo è il comportamento di pertinenza CDE solo, Aprire Windows ambiente o un ambiente Solaris Java non causano questo problema.

La mia domanda è come posso farlo sempre in primo piano del suo genitore (applicazione principale)?

Ho provato a passare in WX11BypassWM bandiera alla finestra di dialogo, a dalla finestra di passaggio manager, ma poi la frontiera e telaio è andata che causano la finestra di dialogo per non trascinare / spostare-grado.

Aggiornamento 1:

Per quanto riguarda la di Andy risposta :

Ho provato Qt::WStyle_StaysOnTop, ma non funziona.

Ho cercato anche di combinare:

WX11BypassWM | WStyle_StaysOnTop | WStyle_Title

e altri combinationa di WStyle_DialogBorder, WType_TopLevel ecc, rimane solo sulla parte superiore se WX11BypassWM viene passato.

Ma ogni volta che WX11BypassWM viene passato, la finestra di dialogo mostrata up non avrà cornice né la barra apice.

Il che significa che è una finestra unmove-in grado tittle-less.

Aggiornamento 2:

Dal momento che non riesco a trovare una soluzione per questo problema, per il momento, ho risolvere esso ridimensionando e riposizionare l'applicazione principale e la finestra di dialogo non modale di essere fianco a fianco.

Questo almeno ti consente all'utente di spostarsi in entrambi interfaccia.

Chiunque se ha un suggerimento migliore poi fammi sapere.

Nessuna soluzione corretta

Altri suggerimenti

Non sono sicuro di aver capito la tua domanda, ma, non sarebbe possibile utilizzare:

Trovato in QtAssistant:

enum Qt::WindowType
flags Qt::WindowFlags

Qt :: WindowStaysOnTopHint :

"informa il sistema finestra che la finestra deve rimanere in cima a tutte le altre finestre."

Spero che aiuta un po '!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top