Найти - Пользователи
Полная версия: Очистка окна
Начало » Python для новичков » Очистка окна
1
Art-master
Доброго времени суток!
У меня возник достаточно простой вопрос: как одним методом (или чем-то еще) можно удалить все виджеты окна Tkinter? Я искал и на Python Docs и в гугле, искал даже в самом Tkinter.py, но ничего не нашел подобного. Подскажите, как мне решить данную проблему.
4kpt_II
1. Вопрос не по месту (нужно в разделе GUI).
2. Есть много методов:
- Можно все виджеты размещать в одной рамке и потом ее удалять.
- Можно заводить список id виджетов и потом циклом пробегать и их удалять.
- У каждого менеджера есть антоним (например, у метода pack есть pack_forget) их можно
использовать для скрытия объектов.
- Можно не отображать базовое окно (спрятать его) а делать все в виде множества Toplevel (окон вернего
уровня) и тогда их можно смело убивать - это не приведет к остановке программы.
- Можно изменять положение этих виджетов вынося их за область видимости.
- Еще туева туча способов.

Будут вопросы - пишите.
Art-master
1. Написал сюда, так как посчитал этот вопрос слишком простым
2. Я так понял, что конкретного метода нет в классе.
Все равно спасибо за такой ответ!
4kpt_II
Вы не поняли, что я написал…
Art-master
Нет. Я как раз понял. Просто я рассчитывал, что будет какой-нибудь метод в классе Tk, который удалит все привязанные виджеты к экземпляру данного класса. Но я также предполагал, что есть вероятность отсутствия такого метода.
4kpt_II
Если честно, то то, что Вы хотите, можно написать за 5 минут самому… Просто я не вижу в этом смысла. Даже не знаю где это можно было бы применить.

P.S. Если все делать так как в документации, то все классы, которые отвечают за вывод графической информации, наследуются от рамки. Этот подход и позволяет частично реализовать то, что вы хотите.

Будут вопросы - пишите…
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