QWidget :: heightForWidth () wird nicht aufgerufen

8

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 :

%Vor%

Dies geschieht unter Linux und Windows.

    
sashoalm 17.07.2013, 19:20
quelle

2 Antworten

2

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%     
Kuba Ober 20.09.2013, 18:06
quelle
0

Um quadratisch zu bleiben, wenn sich das Widget in einem Layout befindet, müssen Sie es neu implementieren

%Vor%

Funktionen der Layoutklasse.

    
Mattia 18.07.2017 13:08
quelle

Tags und Links