Fen�tre et bo�tes de dialogueUn widget qui n'est pas inclus dans un widget parent est une fen�tre. D'habitude, les fen�tres ont un cadre et une barre de titre (bien qu'il est possible de cr�er une fen�tre sans ces d�corations avec les drapeaux appropri�s). Dans Qt, QMainWindow et les diff�rentes classes filles de QDialog sont les types de fen�tres les plus communs. Dans les applications, les fen�tres fournissent un espace de l'�cran dans lequel l'interface utilisateur est cr��e. Les fen�tres s�parent les applications les unes des autres visuellement et fournissent souvent des options pour que l'utilisateur les redimensionne et les d�place selon ses pr�f�rences. Les fen�tres sont typiquement int�gr�es dans l'environnement de bureau et contr�l�es par le syst�me de gestion des fen�tres que l'environnement fournit. Par exemple, les fen�tres s�lectionn�es d'une application sont repr�sent�es dans la barre de t�ches. Fen�tres primaires et secondairesN'importe quel QWidget qui n'a pas de parent devient une fen�tre et sera list�e, dans la plupart des syst�me d'exploitation, dans la barre de t�ches du bureau. Ce qui est g�n�ralement voulu uniquement pour une fen�tre, la fen�tre principale, primary window. De plus, un QWidget qui a un parent peut devenir une fen�tre avec le drapeau Qt::WA_Window. Selon le syst�me de gestion de fen�tres, ces fen�tres secondaires, secondary windows, sont souvent mises au dessus de leur parent et ne sont pas repr�sent�es dans la barre de t�ches. Les classes QMainWindow et QDialog ont le drapeau Qt::WA_Window dans leur constructeur, puisqu'elle sont faites pour �tre utilis�es en tant que fen�tres et propose des fonctionnalit�s qui ne sont pas requises pour les widgets enfants. Fen�tres principales et bo�tes de dialogueLa fen�tre principale d'une application permet au framework de cr�er une interface principale pour une application en h�ritant de QMainWindow. La classe QMainWindow poss�de son propre layout, auquel vous pouvez ajouter une barre de menus, des barres d'outils, des widgets dockable et une barre de statut. La zone centrale peut �tre occup�e par n'importe quel QWidget. Les fen�tre de dialogue sont utilis�es en tant que fen�tres secondaires, qui proposent � l'utilisateur des options et des choix. Les bo�tes de dialogue sont cr��es en h�ritant de QDialog et en utilisant des widgets et layouts pour cr�er l'interface utilisateur. De plus, Qt fournit un certain nombre de bo�tes de dialogue d�j� faites, qui peuvent �tre utilis�es pour des t�ches standards comme la s�lection de fichiers ou de polices. Les fen�tres principales, comme les bo�tes de dialogue, peuvent �tre cr��es avec Qt Designer, l'outil de design de Qt. Utiliser Qt Designer est plus rapide que de coder � la main et rend facile les tests de plusieurs id�es de design. La cr�ation de designs et la lecture du code g�n�r� par uic est une bonne fa�on d'apprendre � se servir de Qt ! G�om�trie des fen�tresLa classe QWidget fournit plusieurs fonctions qui s'occupent de la g�om�trie de la fen�tre. Certaines de ces fonctions op�rent uniquement sur l'aire de la fen�tre (c'est-�-dire sans le cadre), d'autres incluent le cadre. La diff�renciation est faite de fa�on � couvrir la plupart des usages facilement.
Notez que la distinction n'importe que pour les fen�tres de haut niveau avec cadre. Pour les widgets enfants, la g�om�trie du cadre est la m�me que celle du widget. Ce diagramme montre la plupart des fonction utilis�es : Particularit�s de X11Sous X11, une fen�tre n'a pas de cadre tant que le gestionnaire de fen�tre ne la d�core pas. Cela se passe de fa�on asynchrone � un moment apr�s l'appel de la fonction QWidget::show() et le premier �v�nement de l'affichage que re�oit la fen�tre ou ne se fait pas du tout. Gardez en t�te que X11 n'a pas de politique � ce niveau (certain diront qu'il est flexible), bien que vous ne puissiez pas faire d'assomption s�re. R�gle simple : il y a toujours un utilisateur qui emploie un gestionnaire de fen�tres qui casse cette assomption et viendra se plaindre � vous. De plus, un outil ne peut pas placer exactement une fen�tre sur l'�cran. Tout ce que Qt peut faire, c'est envoyer des indices au gestionnaire de fen�tres. Ce dernier peut ensuite ob�ir, les ignorer ou mal les interpr�ter. � cause du peu clair Inter-Client Communication Conventions Manual (ICCCM), le placement des fen�tres est g�r� de fa�ons diff�rentes dans les gestionnaires existants. X11 ne fournit pas de standard ou de mani�re facile de r�cup�rer la g�om�trie du cadre une fois cr��. Qt r�sout ce probl�me habilement et intelligemment avec un code qui fontionne sur une large partie des gestionnaires de fen�tres existants aujourd'hui. Mais ne soyez pas surpris si vous en trouvez un sur lequel la fonction QWidget::frameGeometry() retourne des r�sultats erron�s. X11 ne fournit pas non plus de fa�on d'agrandir une fen�tre. QWidget::showMaximized() doit �muler cette fonctionnalit�. Le r�sultat d�pend de celui de QWidget::frameGeometry() et de la capacit� du gestionnaire de fen�tres de faire un d�placement de fen�tre correct et aucun des deux n'est garantit. RemerciementsMerci � <!buffer!> pour la traduction et � <!dourouc!> ainsi qu'� <!jacques_jean!> pour leur relecture ! |
Cette page est une traduction d'une page de la documentation de Qt, �crite par Nokia Corporation and/or its subsidiary(-ies). Les �ventuels probl�mes r�sultant d'une mauvaise traduction ne sont pas imputables � Nokia. | Qt 4.7 | |
Copyright © 2025 Developpez LLC. Tous droits r�serv�s Developpez LLC. Aucune reproduction, m�me partielle, ne peut �tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'� 3 ans de prison et jusqu'� 300 000 E de dommages et int�r�ts. Cette page est d�pos�e � la SACD. | ||
Vous avez d�nich� une erreur ? Un bug ? Une redirection cass�e ? Ou tout autre probl�me, quel qu'il soit ? Ou bien vous d�sirez participer � ce projet de traduction ? N'h�sitez pas � nous contacter ou par MP ! |