Загрузка данных


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()