import tkinter as tk
from tkinter import colorchooser
# Выбор цвета
def choose_color():
global brush_color
color = colorchooser.askcolor(title="Выберите цвет")
if color[1]:
brush_color = color[1]
# Рисование
def draw(event):
x = event.x
y = event.y
canvas.create_line(
last_x,
last_y,
x,
y,
fill=brush_color,
width=brush_size.get(),
capstyle=tk.ROUND,
smooth=True
)
update_position(event)
# Запоминаем предыдущую позицию мыши
def update_position(event):
global last_x, last_y
last_x = event.x
last_y = event.y
# Очистить холст
def clear_canvas():
canvas.delete("all")
# Главное окно
window = tk.Tk()
window.title("Рисовалка")
window.geometry("700x600")
# Начальный цвет кисти
brush_color = "black"
last_x = 0
last_y = 0
# Кнопка выбора цвета
tk.Button(
window,
text="Выбрать цвет",
command=choose_color,
width=15
).pack(pady=5)
# Толщина кисти
tk.Label(
window,
text="Толщина кисти:"
).pack()
brush_size = tk.Scale(
window,
from_=1,
to=30,
orient=tk.HORIZONTAL
)
brush_size.set(5)
brush_size.pack()
# Холст
canvas = tk.Canvas(
window,
bg="white",
width=650,
height=400
)
canvas.pack(pady=10)
# События мыши
canvas.bind("<Button-1>", update_position)
canvas.bind("<B1-Motion>", draw)
# Кнопка очистки
tk.Button(
window,
text="Очистить",
command=clear_canvas,
width=15
).pack(pady=5)
# Запуск
window.mainloop()