Qt
verfügt über einen flexiblen und leistungsstarken Layoutmechanismus für die Ansicht der Fenster der Desktopanwendung.
Aber es ist so flexibel, dass es fast nicht verstanden werden kann, wenn etwas schief geht und eine Feinabstimmung benötigt. Und so mächtig, dass es jeden schlagen kann, der versucht, Qts Meinung darüber, wie Form aussehen sollte, zu überwältigen.
Kann jemand Artikel oder Quellen zu den Positionierungsmechanismen von Qt erläutern oder bereitstellen?
Ich versuche, die QLabel
, QPushButton
und QTableView
, die durch nachfolgende Unterstriche in ihren Namen gekennzeichnet sind, zu zwingen, zweimal höher zu sein als QTextBrowser
mit verticalStretch = 1
unten. Wie kann ich die Höhe des Widgets richtig handhaben?
. UI-Datei meines Formulars in Google Docs. Suche '____' in Namen, Vorschau in QtDesigner
Layouts sind eigentlich leicht zu verstehen "ich denke" :)
Eine einfache Erklärung der Layouts finden Sie im qt-Buch "C++ - GUI-Programmierung mit QT 2nd Edition"
Was Sie in Bezug auf Layouts und deren Größenrichtlinien beachten sollten
Ich kenne mich nur mit 4 Größenrichtlinien aus
Sie möchten vielleicht fragen,
Was ist der Unterschied zwischen bevorzugt und erweitert?
answer: Stellen Sie sich ein Formular mit zwei Widgets vor, eines mit bevorzugten und eines mit expandierenden. Dann wird dem Widget mit der expandierenden Richtlinie zusätzlicher Platz eingeräumt. Das Widget mit der bevorzugten Richtlinie behält seinen Größenhinweis bei.
Ich empfehle (ACHTUNG: bin kein Experte :)) kaufe und lies "C++ GUI-Programmierung mit QT 2nd Edition = ". Ich lese es gerade und es macht sehr viel Sinn. Schauen Sie sich die Bilder an und prüfen Sie, ob sie einen Sinn ergeben.
Erklärung der Größenrichtlinien
Ein einfaches Beispiel
Dies ist ein einfaches Dialogfeld mit 2 Schaltflächen, deren horizontale und vertikale Größenrichtlinien sowie die horizontale und vertikale Ausdehnung angezeigt werden.
Hier ist die Vorschau in ihrer kleinsten Größe.
Hier ist eine weitere Vorschau in einer größeren Größe
[EDITED: // Größenhinweis hinzugefügt]
WARUM SOLLTEN SIE SICH UM GRÖSSENTABELLE SORGEN?
Sie können sehen, dass jedes Widget ein sizeHint hat, was von entscheidender Bedeutung ist, da das Layoutsystem von QT immer das sizeHint berücksichtigt. Dies ist nur dann ein Problem, wenn die Standardgröße des Widgets nicht genau Ihren Wünschen entspricht. Der einzige Weg, um dieses Problem zu umgehen, besteht darin, das Widget zu erweitern (in Unterklassen zu unterteilen) und seine Mitgliedsfunktion sizeHint () erneut zu implementieren. Ein Beispiel sagt mehr als 1000 Worte. In meinem Blog gibt es ein Beispielprojekt, um Platz zu sparen.