Уведомления

Группа в Telegram: @pythonsu

#1 Июль 25, 2020 19:30:12

Simka
Зарегистрирован: 2020-02-15
Сообщения: 71
Репутация: +  1  -
Профиль   Отправить e-mail  

Как очистить окно tkinter

В создаваемой программе имеется фрагмент:

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 воспринимает её как неизвестную.
Подумал через несколько секунд изменить цвет шрифта под фон окна, но и такую команду не знаю как применить…
Подскажите!

Отредактировано Simka (Июль 25, 2020 21:16:25)

Офлайн

#2 Июль 25, 2020 21:11:33

rami
Зарегистрирован: 2018-01-08
Сообщения: 281
Репутация: +  72  -
Профиль   Отправить e-mail  

Как очистить окно tkinter

 canvas.delete('all')

Офлайн

#3 Июль 25, 2020 21:20:50

Simka
Зарегистрирован: 2020-02-15
Сообщения: 71
Репутация: +  1  -
Профиль   Отправить e-mail  

Как очистить окно tkinter

rami
canvas.delete('all')
Спасибо за быстрый ответ! К сожалению, этот вариант пробовал, отвечает, что незнакомая команда. Правда, писал в скобках ('All'). Сейчас попробую all

Да, работает, СПАСИБО!

Отредактировано Simka (Июль 25, 2020 21:31:01)

Офлайн

#4 Июль 25, 2020 21:35:31

rami
Зарегистрирован: 2018-01-08
Сообщения: 281
Репутация: +  72  -
Профиль   Отправить e-mail  

Как очистить окно tkinter

Обычно, когда импортируют from tkinter import *, импортируется всё, в том числе и константы (пишутся в верхнем регистре), тогда будет работать

 canvas.delete(ALL)

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

в любом случае значение константы равно строке в нижнем регистре, например:
 ALL = 'all'
END = 'end'
LEFT = 'left'
RIGHT = 'right'
и т.д.

Офлайн

#5 Июль 26, 2020 15:28:17

Simka
Зарегистрирован: 2020-02-15
Сообщения: 71
Репутация: +  1  -
Профиль   Отправить e-mail  

Как очистить окно tkinter

rami
тогда будет работать
Спасибо, заношу в свою памятку по Питону!

Офлайн

#6 Март 11, 2023 16:52:28

rustam-python
Зарегистрирован: 2023-03-11
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Как очистить окно tkinter

rami. canvas.delete('all')
Спасибо огромное! Очень пригодилось!

Отредактировано rustam-python (Март 11, 2023 16:55:25)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version