Ich möchte, dass mein Widget immer quadratisch ist. Nach dieser Antwort habe ich QWidget::heightForWidth()
außer Kraft gesetzt, und ich rufe auch setHeightForWidth(true)
im Konstruktor auf, wie von @ vorgeschlagen. Pfeffer. Die Größenrichtlinie wird auf Preferred,Preferred
(für horizontale und vertikale Größe) festgelegt.
Allerdings wird heightForWidth()
nicht aufgerufen. Gibt es irgendetwas, was ich falsch mache?
Dies ist die Deklaration von heightForWidth () in meiner Klasse Widget
:
Dies geschieht unter Linux und Windows.
Ihr Widget muss in einem Layout sein. Das Folgende funktioniert sowohl in Qt 4 als auch in 5.
In Qt 4 wird nur die Mindestgröße des Toplevel-Fensters erzwungen, wenn es sich in einem Layout befindet.
In Qt 5 wird die Toplevel-Fenstergröße nicht erzwungen. Möglicherweise gibt es eine Flagge dafür oder es ist ein Fehler, aber ich erinnere mich nicht im Moment.
%Vor%