2008-08-27 8 views
2

Existe-t-il un moyen de spécifier la position initiale de la fenêtre d'un enfant dans Qt?Qt Placement de la fenêtre enfant

J'ai une application qui fonctionne sur Linux et Windows et il semble que le comportement par défaut de Qt permet au gestionnaire de fenêtres de déterminer le placement des fenêtres enfants.

Sur Windows, c'est au centre de l'écran que le parent est sur qui semble raisonnable.

Sous Linux, dans GNOME (metacity), c'est toujours dans le coin supérieur gauche qui est ennuyeux. Je ne trouve aucune préférence de gestionnaire de fenêtres pour la métacité qui me permette de contrôler le placement de la fenêtre, donc je voudrais passer outre ce comportement.

Répondre

3

Qt Widget Geometry

Appelez le déplacement (x, y) méthode sur la fenêtre enfant avant show(). Les valeurs par défaut pour x et y sont 0, c'est pourquoi il apparaît dans le coin supérieur gauche.
Vous pouvez également utiliser la position de la fenêtre parent pour calculer une position relative pour l'enfant.

0

En règle générale, je recommande de ne pas forcer les positions de fenêtre, sauf si votre application a des exigences de fenêtrage très spéciales. C'est le travail du gestionnaire de fenêtres de déterminer où de nouvelles fenêtres sont placées et la plupart d'entre elles font du bon travail. Si MetaCity ne choisit pas une bonne position, alors c'est son problème. Si vous faites votre propre placement de fenêtre, vous obtiendrez peut-être un meilleur résultat que ce que donnerait un mauvais gestionnaire de fenêtres, mais vous manquerez aussi les algorithmes de placement de fenêtre intelligents disponibles dans les gestionnaires de fenêtres plus avancés.

Questions connexes