Canvas Geometrien "freihand" zeichnen

Fragen zu Tkinter.
Antworten
BlaBlub
User
Beiträge: 2
Registriert: Freitag 11. November 2016, 11:07

Hi,

ich würde gerne via canvas "freihand" Geometrien zeichnen (Oval, Linie).
Jedoch weiss ich nicht wie ich das bewerkstelligen kann.
Mein Plan ist, je ein Button für Oval, bzw. Linie, welcher die entsprechende Funktion aktiviert und ich dann zeichnen kann.

Kann mir jemand helfen, bzw. hat zufällig eine passende Funktion, mit der ich "freihand" zeichnen kann?

Danke :)
BlackJack

@BlaBlub: Da gibt es keine passende, fertige Funktion die genau das macht. Das muss man sich aus den vorhandenen Bausteinen selber programmieren.

Wo ist denn das konkrete Problem? Wie ist der Kenntnisstand bei Python? Funktionen? Klassen? GUI-Programmierung im allgemeinen? Tkinter im besonderen?
BlaBlub
User
Beiträge: 2
Registriert: Freitag 11. November 2016, 11:07

Hi,

danke für die Information.
Ich bin neu in die GUI Programmierung eingestiegen, habe bisher immer Kommandozeilenprogrammchen geschrieben.

Mit FKT und Klassen habe ich schon gearbeitet.
Ich weiss wie ich ein parametrisiertes Oval zeichnen kann, jedoch nicht wie ich das an die Mausbewegung binden kann.

Gruss
BlackJack

@BlaBlub: Das müsstest Du einfach ausprogrammieren. Du kannst Mausklicks und Mausbewegungen behandeln, und das musst Du halt passend tun. Also am Beispiel einer Linie: beim ersten Klick hast Du den Startpunkt, und dann müsstest Du bei jeder Mausbewegung die Linie vom Startpunkt zur Mausposition zeichnen. Bis der Benutzer mit einem Klick den Endpunkt *festlegt*. Dann müsstest Du beim Klick wieder einen Startpunkt erwarten, und so weiter. Dabei daran denken das `Canvas`-Vektorgrafik ist, also nicht immer neue Linien zeichnen nach dem ersten Klick, sondern die erstellte Linie anpassen wenn die Maus bewegt wird (`Canvas.coords()`).
Antworten