Kommunikation QMainWindow und QGraphicsScene[gelöst]

Alles rund um die Programmierung mit Qt
Antworten
Mensch
Beiträge: 50
Registriert: 16. März 2008 19:44

Kommunikation QMainWindow und QGraphicsScene[gelöst]

Beitrag von Mensch »

Hallo!

Ich habe eine Qt GUI und Qt Application. In der Application Klasse werden allerhand Funktionen definiert und mit Buttons aus der GUI verknüpft (über connect).

Jetzt habe ich eine Klasse von QGraphicsScene abgeleitet und die Funktion mousePressEvent überschrieben.

Meine Frage lautet : Die Koordinaten der mouseEvents sind ja nur innerhalb der mousePressEvent Funktion bekannt. Wie kann ich diese an die Qt Application, bzw eine Funktion in der Qt Application weiterreichen, die dann z.B. in einem QImage, welches als QPixmap in einer QGraphicsScene (bzw meiner abgeleiteten Klasse) im QGraphicsView angezeigt wird, einen roten Kreis um die übergebenen Koordinaten zeichnet?

Grüße und vielen Danke im Vorraus!
Zuletzt geändert von Mensch am 19. März 2008 17:34, insgesamt 1-mal geändert.
Deever
Beiträge: 90
Registriert: 9. Mai 2007 18:20

Beitrag von Deever »

Das bestimmst du selbst. Ich würde es über den Signal-Slot-Mechanismus machen. Was allerdings die Klasse QApplication damit zu tun haben soll, ist mir mehr als schleierhaft...

Gruß,
/dev
Mensch
Beiträge: 50
Registriert: 16. März 2008 19:44

Beitrag von Mensch »

QApplication ist da auch fehl am Platz, das stimmt.

Ich habs mittlerweile über 2 Membervariablen des QGraphicsScene - Objektes (bzw das Objekt der von QGraphicsScene abgeleiteten Klasse) gemacht. Die kann ich dann wiederum im QMainWindow aus dem Ojekt abfragen.

Aber dein Vorschlag, übrigens danke für den Tipp, klingt besser. Ich habe diesen Mechanismus bisher nur für Buttons genutzt (bin blutiger Qt und C++ Anfänger). Wie lautet denn z.B. das SIGNAL bei einem Klick auf eine QGraphicsScene, bzw wo in der Doku kann ich das rausfinden?

Grüße
Deever
Beiträge: 90
Registriert: 9. Mai 2007 18:20

Beitrag von Deever »

Mensch hat geschrieben:Wie lautet denn z.B. das SIGNAL bei einem Klick auf eine QGraphicsScene
Die lautet gar nicht ;). Ich meinte eigentlich eher, daß deine abgeleitete Klasse im mousePressEvent-Handler ein Signal auslöst, das du dann an irgendeinen Slot bindest...

Gruß,
/dev
Mensch
Beiträge: 50
Registriert: 16. März 2008 19:44

Beitrag von Mensch »

okay...wie löse ich denn ein eben solches signal aus?
Dieses binde ich dann mittels connect an einen slot? und wie benenne ich das signal dann im connect?

Danke für die Infos bisher!
Deever
Beiträge: 90
Registriert: 9. Mai 2007 18:20

Beitrag von Deever »

Mensch
Beiträge: 50
Registriert: 16. März 2008 19:44

Beitrag von Mensch »

Danke!
Antworten