Frage zu QLayout

Alles rund um die Programmierung mit Qt
Antworten
spit
Beiträge: 13
Registriert: 26. April 2007 21:48

Frage zu QLayout

Beitrag von spit »

Hallo,

ich habe eine kleine Frage zu einem QLayout. ich möchte verschiedene Widgets in verschiedene QH/QVBox-Layouts positionieren und dies dann alles in ein komplettes Layout packen. Dabei sollen die Widgets möglichst centimeter/pixelgenau an verschiedenen Positionen angeordnet sein. Ich habe das bis jetzt mit addStretch bzw addSpacing versucht, aber das klappt irgendwie nicht so richtig.

Gibt es da einen elegenateren Weg Widgets in einem Layout trotzdem noch frei zu positionieren? Ein zweiter Ansatz lief über widget->setGeometry, alledings wird das Widget dann gar nicht angezeigt.

MfG
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Zentimetergenau? Woher weist wie groß dein Bildschirm ist? Pixelgenau? Woher weist du wie groß die eingestellt Schriftgröße ist?
spit
Beiträge: 13
Registriert: 26. April 2007 21:48

Beitrag von spit »

war vielleicht ein wenig falsch ausgedrück, ich müsste halt verschiedene widgets an einem ganz bestimmt Platz positionieren der beispielsweise auf der Höhe einer Markierung am Bildschirmrand ist. Wenn man verschiedene QLayouts kombiniert, dann kriege ich das nie so genau hin, da eine Änderung dich immer auf alle anderen Layouts auswirkt.
spit
Beiträge: 13
Registriert: 26. April 2007 21:48

Beitrag von spit »

Ich habe es jetzt nochmal ein wenig anders versucht, hier einmal ein kleiner Ausschnitt:

Code: Alles auswählen

void Unit::createIdentPage()
{
	identPage = new QWidget;
	identPage->setGeometry(500, 500, 480, 640);

	//Titel der Seite
	identTitel = new QLabel("<h4><font color = white><FONT FACE=SANS SERIF>TITEl</font></h4>");

identTitel->setGeometry(500, 500, 200, 300);
Problem ist nun, dass dieses Label innerhalb des übergeordneten Widgets nicht angezeigt wird. Liegt der Fehler irgendwo im Code?

MfG
Vaaco
Beiträge: 21
Registriert: 12. Oktober 2006 11:51

Beitrag von Vaaco »

Ist das übergeordnete Widget parent vom Label, wird das Label angezeigt, sobald das übergeordnete Widget angezeigt wird.
spit
Beiträge: 13
Registriert: 26. April 2007 21:48

Beitrag von spit »

Das Widget selber ist in ein QStackedWidget eingebettet. Sobald das Widget dann angezeigt wird, sollte auch das QLabel angezeigt werden.

Positioniere ich es mittels QLayout klappt auch alles, nur die methode setGeometry scheint irgendwie nicht richtig zu funktionieren.

MfG
Vaaco
Beiträge: 21
Registriert: 12. Oktober 2006 11:51

Beitrag von Vaaco »

Dann sind evtl. die Koordinaten nicht korrekt. Wenn ich das richtig sehe wird dein Label von dem Widget "identPage" überdeckt.
spit
Beiträge: 13
Registriert: 26. April 2007 21:48

Beitrag von spit »

Die Koordinaten sollten eigentlich stimmen.

Eigentlich sollte das Label identTitel auf dem Widget idenPage liegen. Wie gesagt, durch Layout-Positionierung klappt das auch.

Wie kann ich denn über die setgeometry-Methode festlegen, dass das Label auf dem Widget liegt?
Antworten