2009-08-25 9 views

Antwort

2

Sie finden viele praktische Funktionen in QPainter, wie DrawRect.

Verwenden Sie QWidget :: mousePressEvent, QWidget :: mouseMoveEvent und QWidget :: mouseReleaseEvent, um zu wissen, wo der Benutzer die Form zeichnet.

Sie sollten ein QImage für die Formen haben, die bereits gezeichnet wurden. Während der Benutzer eine neue Form erstellt, müssen Sie diese der QPixmap hinzufügen, die dem Benutzer angezeigt wird, aber die neue Form nicht zu QImage hinzufügen, bis der Benutzer die Maustaste loslässt. Auf diese Weise können Sie die Form anpassen, die sie beim Zeichnen zeichnen.

0

Ich denke, in die scribble example Blick wird uns die genaue Lösung erhalten. Ich wollte auch, dass das Gleiche gemacht wird - also kopierte ich den relevanten Code aus dem Scribble-Beispiel und nahm einige Änderungen vor, damit es so funktioniert, wie ich es möchte.

Obwohl diese Frage schon vor Jahren gestellt wurde - immer noch wenn jemand den Code braucht - werde ich helfen.

+0

scribble ist gut zum Zeichnen von Linien, aber ist schrecklich, wenn Sie ein Rechteck zeichnen möchten. Machen Sie das in Ihrem Code? – Goddard

+0

@Goddard: Ich verstehe nicht, was Sie sagen wollen. Spottest du mich oder fragst du mich nach einer Erklärung? Bitte erläutern. – zeFree

Verwandte Themen