Rechteck ziehen
Rechteck ziehen
Hallöle,
ich würde gern ein Rechteck in einer QGraphicsScene ziehen (ähnlich einer Markierung) um dann anhand der Grenzen (bzw. Eckpunkte) eine Zeichnung in diesem Bereich zu machen. Gibt es für das Rechteck ein schöne Lösung, so dass ich das Rechteck auch schon während des Zeichnens sehen kann?
Das Rechteck soll wie gesagt so wie bei einer Markierung im WindowsExplorer erstellt werden: Linksklick -> ziehen -> loslassen
danke schonmal
Robert
ich würde gern ein Rechteck in einer QGraphicsScene ziehen (ähnlich einer Markierung) um dann anhand der Grenzen (bzw. Eckpunkte) eine Zeichnung in diesem Bereich zu machen. Gibt es für das Rechteck ein schöne Lösung, so dass ich das Rechteck auch schon während des Zeichnens sehen kann?
Das Rechteck soll wie gesagt so wie bei einer Markierung im WindowsExplorer erstellt werden: Linksklick -> ziehen -> loslassen
danke schonmal
Robert
hab jetzt mal ein wenig gebastelt, stehe aber momentan vor folgendem Problem: beim MouseMoveEvent will ich kontinuierlich die aktuelle Mausposition ausgeben lassen. Dafür existiert bereits eine Funktion, allerdings kommt im Moment nur die Ausgabe von (0, 0):
über das Release Event würde ich im Prinzip dann nur nochmal diesen Ablauf wiederholen und den letzten Punkt auf den QPointF SecondRectPoint schreiben. Als nächstes müsste noch während des MouseMoveEvents kontinuierlich ein Rechteck gezeichnet und aktualisiert werden - aber damit hab ich mich noch nicht weiter befasst.
Hoffentlich könnt ihr mir mit dem Code-Schnipsel weiterhelfen
Code: Alles auswählen
void MapScene::mouseMoveEvent(QGraphicsSceneMouseEvent* mouseEvent)
{
SecondRectPoint = mouseEvent->pos(); // aktuellen zweiten Rechteckpunkt definieren
mGuiTMPOptions->displayCursorPosition(SecondRectPoint.x() , SecondRectPoint.y()); //zweiten Punkt anzeigen (müsste stets aktuell sein)
}Hoffentlich könnt ihr mir mit dem Code-Schnipsel weiterhelfen
Hi,
Du mußt den Standardkonstruktor noch aufrufen. Den Fehler hallte ich letztens auch drin.
Grüßle,
Matthias
Du mußt den Standardkonstruktor noch aufrufen. Den Fehler hallte ich letztens auch drin.
Code: Alles auswählen
void MapScene::mouseMoveEvent(QGraphicsSceneMouseEvent* mouseEvent)
{
QGraphicsScene::mouseMoveEvent(mouseEvent);
SecondRectPoint = mouseEvent->pos();
mGuiTMPOptions->displayCursorPosition(SecondRectPoint.x() , secondRectPoint.y());
}
Matthias