Ich unterrichte selbst Python (langsam!) Und habe ein grundlegendes Lackprogramm gebaut, bei dem die Pinselfarbe geändert werden kann, und das ist damit ... die Klickboxen können jedoch gezogen werden und wollten sehen, ob es möglich ist, diesen Bereich zu machen, in dem es nicht gezogen werden kann? Ich möchte auch zusätzliche Optionen haben, wie z. B. die Größe und Formung von "Pinsel", sodass alle Hinweise und Tipps dazu geschätzt werden!
Tkinter Print importieren ("Zeichnen, die linke Maustaste gedrückt halten und den Cursor bewegen.") Drucken ("Um die Bürstenfarbe zu ändern, klicken Sie auf eine der Farben.") Fenster = tkinter.tk () canvas = tkinter.canvas (Fenster, Breite = 800, Höhe = 600, BG = "White". lastX, lastY lastX = event.x lastY = event.y def on_click(event): store_position(event) def on_drag(event): canvas.create_line(lastX, lastY, event.x, event.y, fill = colour, width = 3) store_position(event) canvas.bind("", on_click) canvas.bind("", on_drag) red_id = canvas.create_rectangle (10, 10, 30, 30, fill = "rot") blau_id = canvas.create_rectangle (10, 35, 30, 55, fill = "blau") Black_id = canvas.create_rectangle (10, 30, 80, 80, Fill = "Black"). fill = "weiß") cyan_id = canvas.create_rectangle (10, 110, 30, 130, fill = "cyan") gelb_id = canvas.create_rectangle (10, 135, 30, 155, fill = "gelb") gree_id = canvas.crereate_rectangle (10, 160, 30, 180, 180, fill = "). set_colour_red (Ereignis): Global Color Color = "Red" Def set_colour_blue (Ereignis): Global Color Color = "Blue" Def set_colour_black (Ereignis): Global Color Color = "Black" Def set_colour_white (Ereignis): global color = "White" def set_colour_cyan (Event): Global Color = "Cyan": Global Color = "Cyan": Global): Global Color = "Cyan" Cyan "Cyan" "Cyan": Global): Global: Global): Global Color = "Cyan" Cyan "Cyan" Cyan "Cyan": "yellow" def set_colour_green(event): global colour colour = "green" canvas.tag_bind(red_id, "", set_colour_red) canvas.tag_bind(blue_id, "", set_colour_blue) canvas.tag_bind(black_id, "", set_colour_black) canvas.tag_bind(white_id, "", set_colour_white) canvas.tag_bind (cyan_id, "", set_colour_cyan) canvas.tag_bind (gelb_id, "", set_colour_yellow) canvas.tag_bind (Green_id, "", set_colour_green) fenster.mainloop () Fenster.