
ВНИМАНИЕ!!! Знатоки Питона!!! Как в модуле Tkinter удалить все виджеты, кроме одного с помощью
команды canvas.delete("..."). Например, удалить всё, кроме виджета Block? Нужен код.

Ответы на вопрос

Ответ:
from tkinter import *
root=Tk()
btn=Button(text="button")
btn1=Button(text="button1")
bt2n=Button(text="button2")
block=Button(text="Block")
#создаем виджеты
widjets=[btn,btn1,btn2]
# удаляем виджеты кроме block
for i in widjets:
i.destroy()
root.mainloop()



Для удаления всех виджетов, кроме одного, из модуля tkinter с помощью команды `canvas.delete`, можно следовать следующему подходу:
1. Создайте экземпляр класса `tkinter.Canvas()`, который будет представлять область, в которой размещены виджеты.
```python canvas = tkinter.Canvas(root) canvas.pack() ```
2. Создайте виджеты, которые нужно удалить, например, белый прямоугольник и красная кнопка:
```python block = canvas.create_rectangle(50, 50, 150, 150, fill="white") button = tkinter.Button(root, text="Удалить все", command=delete_widgets) button.pack() ```
3. Напишите функцию `delete_widgets()`, которая будет удалять все виджеты, кроме виджета `block`:
```python def delete_widgets(): for widget in canvas.winfo_children(): if widget != block: widget.destroy() ```
Эта функция проходит по всем дочерним виджетам `canvas` с помощью метода `winfo_children()`. Если виджет не равен `block`, то он удаляется с помощью метода `destroy()`.
4. Запустите приложение с помощью метода `mainloop()`.
```python root.mainloop() ```
Полный код будет выглядеть следующим образом:
```python import tkinter
def delete_widgets(): for widget in canvas.winfo_children(): if widget != block: widget.destroy()
root = tkinter.Tk()
canvas = tkinter.Canvas(root) canvas.pack()
block = canvas.create_rectangle(50, 50, 150, 150, fill="white") button = tkinter.Button(root, text="Удалить все", command=delete_widgets) button.pack()
root.mainloop() ```
При нажатии на кнопку "Удалить все" будут удалены все виджеты, кроме прямоугольника `block`.


Топ вопросов за вчера в категории Информатика









Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili