Найти - Пользователи
Полная версия: Как очистить окно tkinter
Начало » Python для новичков » Как очистить окно tkinter
1
Simka
В создаваемой программе имеется фрагмент:

if event.keysym == 'a':
canvas.move(1, 0, -3)
canvas.create_text(150, 150, text='my text', font=('Times', 25))

Далее в коде следует аналогичный фрагмент ( начиная с elif ) для другой клавиши клавиатуры. И выводится другой текст поверх предыдущего. Проблема - как очистить окно от предыдущего текста? Просмотрел книги, какие доступны, но как поместить на окне текст или картинку gif- пишут, а как убрать - не нахожу.
Нашел в сети команду canvas.delete(ALL) , но у меня tkinter воспринимает её как неизвестную.
Подумал через несколько секунд изменить цвет шрифта под фон окна, но и такую команду не знаю как применить…
Подскажите!
rami
 canvas.delete('all')
Simka
rami
canvas.delete('all')
Спасибо за быстрый ответ! К сожалению, этот вариант пробовал, отвечает, что незнакомая команда. Правда, писал в скобках ('All'). Сейчас попробую all

Да, работает, СПАСИБО!
rami
Обычно, когда импортируют from tkinter import *, импортируется всё, в том числе и константы (пишутся в верхнем регистре), тогда будет работать
 canvas.delete(ALL)

если импортировать import tkinter as tk, нужно писать:
 canvas.delete(tk.ALL)

в любом случае значение константы равно строке в нижнем регистре, например:
 ALL = 'all'
END = 'end'
LEFT = 'left'
RIGHT = 'right'
и т.д.
Simka
rami
тогда будет работать
Спасибо, заношу в свою памятку по Питону!
rustam-python
rami. canvas.delete('all')
Спасибо огромное! Очень пригодилось!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB