[gelöst] QGraphicsView mit Hintergrund-Widget?

Alles rund um die Programmierung mit Qt
Antworten
mathies
Beiträge: 149
Registriert: 9. Februar 2007 17:50
Wohnort: Erfurt

[gelöst] QGraphicsView mit Hintergrund-Widget?

Beitrag von mathies »

Hallo,

gibt es eine Möglichkeit, bei einem QGraphicsView ein anderes QWidget als Hintergrund zu nutzen?

Ich möchte mein bestehendes Scene/View-Konzept gerne mit einem anderen Widget (QMapControl) verbinden. Aufgrund der anderen Painterumsetzung beim QGraphicsView ist ein einfaches ableiten nicht möglich.

Eine unelegante Lösung wäre den QGraphicsView mit einem transparenten Hintergrund auszustatten und einfach drüber zu legen. Ein zusätzlicher Nachteil ist aber, dass alles dann sehr langsam wird.

Ich hoffe es hat jemand eine Idee. Danke.
Zuletzt geändert von mathies am 18. März 2010 10:51, insgesamt 1-mal geändert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Irgendwie kommt mir dieser Beitrag bekannt vor...

Eine Idee:

Eigenes Viewport-Widget setzen.
paint-Event abfangen
paintEvent vom eigenen-Widget aufrufen
render/paintEvent von der Scene aufrufen.


2. Idee:
In der drawBackground-Methode den Inhalt deines Widgets 'grabben' und in der Scene einbauen.
mathies
Beiträge: 149
Registriert: 9. Februar 2007 17:50
Wohnort: Erfurt

Beitrag von mathies »

Danke, ich probier das mal. Mit dem "grabben" hab ich auch überlegt, schien mir aber auch recht aufwendig (also vom rechenaufwand her) :)

Gruß

PS:
Hatte den Beitrag gestern schon mal drin aber dann gelöscht, da es zu gehen schien ohne Probleme. Hatte aber die relevante Ableitung noch nicht drin :(
mathies
Beiträge: 149
Registriert: 9. Februar 2007 17:50
Wohnort: Erfurt

Beitrag von mathies »

Ok, ich habe jetzt verschiedene Sachen probiert, alles ohne Erfolg. Habe jetzt auch schon mitbekommen, dass ich immer nur nen Painter im PaintEvent nutzen kann und auch immer nur vom eigenen Widget.

Ich habe auch mal das MapWidget einfach direkt als ViewPort gesetzt aber da wird nie ein PaintEvent ausgelöst.

Irgendwie hab ich jetzt keine Idee mehr :(
mathies
Beiträge: 149
Registriert: 9. Februar 2007 17:50
Wohnort: Erfurt

Beitrag von mathies »

Ok, mit drawBackground() klappt es endlich. Hätte wohl doch gleich diese Idee verfolgen sollen :)
Antworten