QT etwas verschieben
-
Hallo,
wie kann man ein QT Label oder ein QT Vertical Layout verschieben ?
Ich kann machen was ich will und es funktioniert nicht
-
Ich erbe von einer Basisklasse ein Vertical Layout und moechte es mit folgendem Code verschieben
QRect rec(verticalLayout_2->geometry().x(), verticalLayout_2->geometry().y()+50, //hier die Verschiebung verticalLayout_2->geometry().width(), verticalLayout_2->geometry().height()); verticalLayout_2->setGeometry(rec);
Warum zum Teufel bewegt es sich keinen einzigen Pixel ??
-
Keiner da der QT kann ?
-
Doch schon, nur das was du vorhast ist nicht ersichtlich.
Bechreib doch mal was du genau erreichen möchtest und nicht wie du meinst es zu erreichen zu müssen.
-
Naja ganz einfach ein Label nach unten verschieben. Das Label wird von der BAsisklasse vererbt. Sagen mir es hat die Koordinaten (0/0 ). Nun moechte ich es auf (0/50) verschieben. Wie wuerde der Code dazu aussehen. ?
-
Ich versuchte gerade diese Funktion und das Label bewegt sich kein STueck. Gibt es dafuer eine Erklaerung ?
m_labelOptions->setGeometry(9,136,37,21);
-
jetzt hab ich das noch versucht
m_labelOptions->move(0,50);
Und wieder keinerlei Bewegung
-
Dein Fenster hat doch sicher ein aktives Layout-Management. Gegen das versuchst du anzukämpfen und verlierst.
http://qt-project.org/doc/qt-5/layout.html
-
ja wahrscheinlich
ich hab jetzt gerade nochmal die move() Funktion ausprobiert und es klappt wunderbar. Nur bei den vererbten Widgets geht es nicht. Es wird wohl mit irgendeinem Layout zusammenhaengen
-
Vielleicht sind es aber auch Spacer , ich bin mir da nicht so sicher.
-
Mach das layout weg, oder setz einen spacer oberhalb des labels dessen größe du änderst
-
Das Problem ist die Klasse von der ich erbe ist nicht von mir , also ich kann da rein gar nix machen