Qt Tutorial: QGridLayout wird falsch ausgegeben
Verfasst: 18. Oktober 2010 17:47
Hi,
ich arbeite mich gerade durch Nokia's Qt Tutorial:
http://doc.qt.nokia.com/4.1/tutorial-t8.html
Hier wird zum ersten Mal ein QGridLayout eingeführt. Den Code wie er auf der Seite ist, kann ich compilen - er wird auch richtig angezeigt.
Wenn ich aber in main.cpp diese Zeile lösche:
wird das QPainter-Objekt (in der grid von Zelle 1,1 bis 2,1) gar nicht mehr angezeigt.
Auf der oben verlinkten Seite ist im unteren Drittel ein Bild, dass die Aufteilung des grid zeigt.
Wenn ich das Widget "cannonField" folgendermaßen adde:
wird es angezeigt, dann eben in dritter Zeile, erster Spalte. Da brauche ich auch kein setColumnStretch() aufrufen.
Kann mir jemand erklären, warum ich den Stretch-Faktor (der eigentlich nichts mit Darstellung des QPainter-Widgets zu tun haben sollte?) hier explizit angeben muß?
Danke schon mal,
Alex
//edit:
Wenn ich das Widget folgendermaßen adde:
ist es sichtbar. Das heißt jetzt aber, es spannt von Spalte 2 bis Spalte 199. Das sollte doch mit einer Spalte auch möglich sein (ohne diesen Stretchfaktor zu setzen).
ich arbeite mich gerade durch Nokia's Qt Tutorial:
http://doc.qt.nokia.com/4.1/tutorial-t8.html
Hier wird zum ersten Mal ein QGridLayout eingeführt. Den Code wie er auf der Seite ist, kann ich compilen - er wird auch richtig angezeigt.
Wenn ich aber in main.cpp diese Zeile lösche:
Code: Alles auswählen
gridLayout->setColumnStretch(1, 10);Auf der oben verlinkten Seite ist im unteren Drittel ein Bild, dass die Aufteilung des grid zeigt.
Wenn ich das Widget "cannonField" folgendermaßen adde:
Code: Alles auswählen
gridLayout->addWidget(cannonField, 2, 0);Kann mir jemand erklären, warum ich den Stretch-Faktor (der eigentlich nichts mit Darstellung des QPainter-Widgets zu tun haben sollte?) hier explizit angeben muß?
Danke schon mal,
Alex
//edit:
Wenn ich das Widget folgendermaßen adde:
Code: Alles auswählen
gridLayout->addWidget(cannonField, 1, 1, 2, 200);