Qt
possède un mécanisme de mise en page flexible et puissant pour gérer la vue des fenêtres de l'application de bureau.
Mais il est si flexible qu'il est presque incompréhensible lorsque quelque chose se passe mal et nécessite un réglage fin. Et si puissant qu'il peut battre n'importe qui dans ses tentatives pour submerger l'opinion de Qt sur l'apparence de la forme.
Alors, quelqu'un peut-il expliquer ou fournir des articles ou la source des mécanismes de positionnement de Qt?
J'essaie de forcer les QLabel
, QPushButton
et QTableView
, marqués par des traits de soulignement de fin dans leurs noms, deux fois plus élevés que QTextBrowser
ayant verticalStretch = 1
au dessous de. Comment gérer correctement la hauteur du widget?
Les mises en page sont en fait faciles à comprendre "je pense" :)
Une explication simple des dispositions peut être trouvée dans le livre qt "Programmation C++ Gui avec QT 2nd edition "
Ce que vous devez savoir concernant les dispositions et leurs politiques de taille
Je ne connais que les politiques de taille 4
Vous voudrez peut-être demander,
Quelle est la différence entre préféré et en expansion?
réponse: Imaginez un formulaire avec 2 widgets, un avec préféré et un autre avec expansion, puis tout espace supplémentaire sera donné au widget avec la politique en expansion. Le widget avec la stratégie préférée restera à son indice de taille.
Je recommande (AVERTISSEMENT: je ne suis pas un expert :)) vous achetez et lisez "C++ Programmation GUI avec QT 2ème édition ". Je suis en train de le lire et ça fait beaucoup de sens. Regardez les images et voyez si elles ont un sens.
Explication des politiques de taille
Un exemple simple
Ceci est une boîte de dialogue simple avec 2 boutons dont les politiques de taille horizontale et verticale sont affichées ainsi que l'étirement horizontal et vertical.
Voici l'aperçu dans sa plus petite taille.
Voici un autre aperçu à une plus grande taille
[MODIFIÉ: // exemple d'indice de taille ajouté]
POURQUOI DEVRIEZ-VOUS PRENDRE SOIN DE LA TAILLE
Vous pouvez voir que chaque widget a un sizeHint qui est vital car le système de mise en page de QT respecte toujours le sizeHint. Ce n'est un problème que si la taille par défaut du widget n'est pas exactement celle que vous souhaitez. Le seul moyen de contourner ce problème est d'étendre (sous-classe) le widget et de réimplémenter sa fonction membre sizeHint (). Un exemple vaut 1000 mots. Pour économiser de l'espace, consultez mon blog où il y a un exemple de projet.