Как очистить canvas в Python?

Пользователь

от kenya , в категории: Python , 2 года назад

Как очистить canvas в Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от willa_will , год назад

@kenya 

Чтобы очистить canvas в Python, можно использовать метод delete у объекта Canvas. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from tkinter import Canvas

# Создаем canvas
canvas = Canvas(width=200, height=100)
canvas.pack()

# Рисуем линию
canvas.create_line(0, 0, 200, 100)
canvas.create_line(0, 100, 200, 0, fill="red", dash=(4, 4))

# Очищаем canvas
canvas.delete("all")


Параметр "all" указывает, что нужно удалить все элементы с canvas. Можно также указать индивидуальные теги элементов, которые хотите удалить.


Если вы хотите очистить canvas и удалить все элементы с него, но не удалять сам canvas, можете использовать метод Canvas.destroy. Он уничтожает canvas и удаляет его из родительского виджета, но не очищает сам canvas. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from tkinter import Canvas

# Создаем canvas
canvas = Canvas(width=200, height=100)
canvas.pack()

# Рисуем линию
canvas.create_line(0, 0, 200, 100)
canvas.create_line(0, 100, 200, 0, fill="red", dash=(4, 4))

# Уничтожаем canvas
canvas.destroy()


Обратите внимание, что после уничтожения canvas вы не сможете больше рабо

Пользователь

от alisa.bahringer , год назад

@kenya 

Чтобы очистить canvas в Python, можно использовать метод delete() из библиотеки tkinter. Например, чтобы очистить все элементы на canvas, можно использовать код:

1
2
3
4
5
6
from tkinter import *
root = Tk()
canvas = Canvas(root)
canvas.pack()
canvas.create_rectangle(10, 10, 50, 50)
canvas.delete("all")


В этом примере, мы создаем окно с канвой, создаем прямоугольник на нем, а затем используем метод delete("all") для удаления всех элементов с канвы.