Positionieren von Text in QGraphicsScene

Alles rund um die Programmierung mit Qt
Antworten
jaronimo
Beiträge: 13
Registriert: 29. April 2010 19:00

Positionieren von Text in QGraphicsScene

Beitrag 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);
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag 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
jaronimo
Beiträge: 13
Registriert: 29. April 2010 19:00

Beitrag 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);
Antworten