[PYTHON] Zeichenbrett

Machen Sie mit Tkinter ein Zeichenbrett!

Als ich Lektion 7-3 in dem Lehrbuch programmierte, mit dem ich mich in der Klasse befasste, dachte ich, ich könnte eine Linie zeichnen, wenn ich diese Zeichnung kontinuierlich mache, aber ich habe sie während der Untersuchung in eine Form gebracht.


Unterschied zu Lektion 7-3

――In dem Lehrbuch haben Sie programmiert, einen Kreis durch Klicken zu zeichnen, diesmal wird er jedoch die ganze Zeit gezeichnet, während die Maustaste gedrückt wird. ――Um eine Linie zu zeichnen, wird es unnatürlich, wenn der gezeichnete Kreis groß ist. Deshalb habe ich es möglich gemacht, eine natürlichere Linie zu zeichnen, indem ich einen möglichst kleinen Kreis gezeichnet habe.


Code-Einführung

Ich werde den Code vorstellen, der tatsächlich programmiert wurde.


import tkinter

def mouse_click_func(event):
    global press

    press = True

Zunächst definieren wir hier das Klicken mit der Maus.


def mouse_release_func(event):
    global press

    press = False

Definieren Sie als Nächstes, dass Sie die Maustaste loslassen.


def mouse_move_func(event):
    global canvas

    x = event.x
    y = event.y

    if press:
        canvas.create_oval(x - 2, y - 2, x + 2, y + 2, fill = "white", width=0)

Und schließlich definieren wir das Zeichnen eines Kreises, wenn sich die Maus bewegt und die Taste gedrückt gehalten wird.


Bei der Erstellung des Codes

Um einen Kreis kontinuierlich zu zeichnen, muss nicht nur die Taste ein- und ausgeschaltet werden, sondern auch die Fälle von ** 3 Mustern, die eingeschaltet sind und die Maus bewegt **, getrennt werden. Zuerst dachte ich daran, die Maus zu bewegen, während ich die Taste drückte und losließ, aber ich wusste nicht, was ich tun sollte. Als ich mich auf die Website bezog, war ich beeindruckt, als ich sah, dass die Presse durch Ein- und Ausschalten des Knopfes als wahr oder falsch eingestuft wurde.


Ausführungsergebnis

Ich habe versucht, es wie eine Tafel zu machen! 2020-07-10 (3).png


Verbesserungspunkt 1

Wenn Sie die Maus schnell bewegen, ist dies keine klare Linie 2020-07-10 (2).png Es scheint, dass dies ein Verarbeitungsproblem des Personal Computers ist. Es kann möglicherweise verbessert werden, wenn es sich nicht um eine Methode zum kontinuierlichen Zeichnen von Punkten handelt.


Verbesserungspunkt 2

Sobald Sie einen Fehler gemacht haben, können Sie ihn nicht mehr löschen. Da entschieden wird, ob ein Punkt durch Drücken oder Nicht-Drücken der Maustaste gezeichnet werden soll, gibt es nicht genügend Definitionen, um den Punkt zu löschen. Es kann möglich sein, den Fall zu löschen, wenn vor dem Drücken der Maustaste etwas getan werden kann.


Impressionen

Es war mein erstes Mal, dass ich mit Programmierung in Kontakt kam, daher gab es einige schwierige Teile, aber ich habe es genossen, daran zu arbeiten. Ich bin daran interessiert, also werde ich versuchen, freiwillig daran zu arbeiten.


--Referenz

Erstellen Sie eine GUI-App mit Tkinter mit Python [https://daeudaeu.com/programming/python/tkinter/python_tkinter/]

Die einfachste Python-Einführungsklasse von Fumitaka Osawa

Recommended Posts

Zeichenbrett
[Python] Zeichnung optimieren
RK3399 Board Buildroot