Merhfachauswahl von SVG-Objekten mit der Maus
Merhfachauswahl von SVG-Objekten mit der Maus
Jeder kennt das ja, wenn man zb auf dem desktop mehrere dateien auswählen will dann muss man einfach an einer stelle die linke maustaste klicken und in die jeweilige richtung ziehen und dann wieder los lassen.
Dieses feature wollte ich bei mir auch einbauen.
Es wird eine Scene in einem View erzeugt, in diesem View liegen drei SVG-Objete. Diese sollen auch per maus in mehrfachauswahl makiert werden.
Es gibt sicherlich eine funktion um dieses feature zu erzeugen.
Kann mir da einer weiter helfen?
In der Klasse QMouseEvent finde ich keine passende funktion.
Dieses feature wollte ich bei mir auch einbauen.
Es wird eine Scene in einem View erzeugt, in diesem View liegen drei SVG-Objete. Diese sollen auch per maus in mehrfachauswahl makiert werden.
Es gibt sicherlich eine funktion um dieses feature zu erzeugen.
Kann mir da einer weiter helfen?
In der Klasse QMouseEvent finde ich keine passende funktion.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Ich weiß nicht ob nibbel es geschafft hat oder wie er es gemacht hat aber ich würde es im groben folgend lösen:
Du hast ein QRect welches die Auswahl speichert. Angefangen bei der Position(QPoint topLeft) wo die Maus beginnt mit selektieren(linke Maustaste wird gedrückt gehalten), wenn die Selektierung endet(linke Maustaste wird losgelassen) speicherst Du den 2. Wert(QPoint bottomRight) für das QRect und schon hast Du einen Bereich welcher ausgewählt wurde. Und nun kannst Du überprüfen welches Deiner Objekte sich innerhalb dieses QRect befindet.
Sicher sehr grob beschrieben aber ich denke das wäre die gängigste Methodik.
Gut Schuß
VuuRWerK
Du hast ein QRect welches die Auswahl speichert. Angefangen bei der Position(QPoint topLeft) wo die Maus beginnt mit selektieren(linke Maustaste wird gedrückt gehalten), wenn die Selektierung endet(linke Maustaste wird losgelassen) speicherst Du den 2. Wert(QPoint bottomRight) für das QRect und schon hast Du einen Bereich welcher ausgewählt wurde. Und nun kannst Du überprüfen welches Deiner Objekte sich innerhalb dieses QRect befindet.
Sicher sehr grob beschrieben aber ich denke das wäre die gängigste Methodik.
Gut Schuß
VuuRWerK
Es gibt nur 3 natürliche Feinde des Programmierers: Tageslicht, frische Luft und das unerträgliche Gebrüll der Vögel.
Oft ist die Ursache des schwarzsehens lediglich ein verrutschen des Bretts vorm Kopf =)
Oft ist die Ursache des schwarzsehens lediglich ein verrutschen des Bretts vorm Kopf =)
Warum kein Rubberband nehmen?
http://doc.trolltech.com/4.3/qrubberband.html
Dann noch das rect abfragen und mittels QGraphicsScene::items(QRectF)
die selektierten Items holen und fertig
http://doc.trolltech.com/4.3/qrubberband.html
Dann noch das rect abfragen und mittels QGraphicsScene::items(QRectF)
die selektierten Items holen und fertig