PyQt - Probleme beim Auslesen von Bildkoordinaten (SVG)

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
kompensator
User
Beiträge: 7
Registriert: Mittwoch 7. Mai 2008, 08:40

Montag 10. November 2008, 12:14

Hallo,
ich möchte gerne mit einem Graphen interagieren können, der im SVG-Format vorliegt. Letztendlich möchte ich gerne einen oder mehrere Knoten des Graphen durch anklicken selektieren können.
Zum Darstellen der SVG-Datei benutze ich momentan Eine QScrollArea die wiederum ein QLabel mit dem QImage beinhaltet.
Soweit so gut - wenn ich jetzt allerdings die Mauskoordinaten auslesen möchte, verändern sich diese wenn ich die Scrollbars benutze. Da der Graph sehr groß ist bin brauche ich die Scrollbars um vernünftig mit dem Bild arbeiten zu können.
Das MousePressEvent sieht momentan so aus:

Code: Alles auswählen

def mousePressEvent(self, event):
        currentPos = QPoint(event.pos())
        print str(currentPos.x()) + ", " + str(currentPos.y())
Wie kann ich auf die eigentlichen (statischen) Bildkoordinaten zugreifen? Ich arbeite noch nicht sehr lange mit Python und es kann durchaus sein dass ich etwas wichtiges übersehen habe.
Vielen Dank schonmal im vorraus - ich freue mich über Tipps und konstruktive Kritik!
burli
User
Beiträge: 1116
Registriert: Dienstag 9. März 2004, 18:22

Montag 10. November 2008, 12:20

Probier es doch mal mit einem QGraphicsView. Der ist genau für sowas gedacht.
kompensator
User
Beiträge: 7
Registriert: Mittwoch 7. Mai 2008, 08:40

Montag 10. November 2008, 15:52

Danke! Erst war zwar alles noch beim alten, aber dann hab ich mir eine eigene Scene abgeleitet und nutze dort beim mousePressEvent scenePos :)

Jau, mit Python und insbesondere mit PyQt zu arbeiten ist für jemanden der aus der Java-ecke kommt und entsprechend dokumentationsverwöhnt ist nicht besonders einfach ;)

Danke nochmal!
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

Montag 10. November 2008, 17:56

kompensator hat geschrieben:Danke! Erst war zwar alles noch beim alten, aber dann hab ich mir eine eigene Scene abgeleitet und nutze dort beim mousePressEvent scenePos :)

Jau, mit Python und insbesondere mit PyQt zu arbeiten ist für jemanden der aus der Java-ecke kommt und entsprechend dokumentationsverwöhnt ist nicht besonders einfach ;)

Danke nochmal!
Naja wenn man kein Problem hat C++ zu lesen gehts scho.
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Antworten