Seite 1 von 1

Positionieren von Text in QGraphicsScene

Verfasst: 7. Juni 2010 01:29
von jaronimo
hallo alle zusammen!

ich hab eben versucht, Text an eine bestimmte Position in meiner Szene zu setzen. Leider vergebens. Laut Dokumentation wird Text, wenn man ihn mittels addText() zu einer GraphicsScene hinzufügt an Position (0,0) initialisiert. Schön und gut. Wenn ich aber nun versuche, das mir von addText() zurückgelieferte QGraphicsTextItem per setPos(x,y) neu zu positionieren, dann tut sich leider genau gar nix.

Könnte mir vielleicht jemand verraten, wie man Text denn dann richtig positioniert?

Vielen Dank & liebe Grüße

Code: Alles auswählen

QGraphicsTextItem txt = scene->addSimpleText("h");
txt.setPos(50.0, 50.0);

Verfasst: 7. Juni 2010 08:08
von franzf
Dein kleines Beispiel würde nicht mal kompilieren. Es wird nämlich ein Pointer zurückgeliefert.
Trotzdem: Das funktioniert bei mir sehr gut!
Kann es sein, dass du selber noch mit setSceneRect oder sonstwas rumspielst?
Poste bitte mal ein komplettes (minimales, kompilierbares) Beispiel, wie du das einsetzt.

Grüßi

Verfasst: 7. Juni 2010 12:09
von jaronimo
wow, du hast recht. was ich da gestern nacht fabriziert hab, sollte eigentlich wirklich nicht kompilieren. nicht nur wegen dem pointer, auch weil scene->addSimpleText("h") nicht ein QGraphicsTextItem sondern ein QGraphicsSimpleTextItem zurückliefert.

Interessanterweise hats aber doch kompiliert ;) sehr verwunderlich...

diese Version funktioniert jetzt auf jeden Fall:

Code: Alles auswählen

QGraphicsTextItem* txt = scene->addText("h");
txt->setPos(50.0, 50.0);