Frage

Ich versuche, ein Stück Software zu schreiben, die man auf einem Video-Frame klicken können und markieren Sie die x, y-Koordinaten eines Ortes im Rahmen. Um dies zu entwerfen, ich will schon eine QGraphicsView Unterklasse verwenden und auf der Mausklickereignis, instanziiert ein QLabel mit einem PNG-Bild „Ziel“ auf, wo der Klick aufgetreten ist.

Bisher habe ich bekommen, alles zu arbeiten, außer dass die QLabel immer transparent zu sein. All die Informationen, die ich online gefunden habe scheint nicht mit der neuesten Qt zu arbeiten. Soll ich total mein Design zu überdenken und eine Art von Integration nutzen mit in Qt Malerei? Oder gibt es eine Möglichkeit, die QLabel PNG Implementierung zu retten und in der Tat das Etikett transparent machen?

Danke, --Dany.

War es hilfreich?

Lösung

QLabel innerhalb QGraphicsView ist keine gute Idee, in der Tat. QGraphicsView wurde Host QGraphicsItems entworfen, um ein Bild anzuzeigen, sollten Sie QGraphicsPixmapItem verwenden.

Embedding QWidget in QGraphicsView etwas Overhead und wurde wirklich für komplex Widgets entwickelt, die nicht leicht in Bezug auf QGraphicItems neu implementiert werden können.

Andere Tipps

Ich denke, eine QGraphicsItem mit ItemIgnoresTransformations Flag ist genau das, was Sie wollen .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top