Невозможно удалить корневое окно tkinter - PullRequest
0 голосов
/ 17 ноября 2018

РЕДАКТИРОВАТЬ: я понимаю, что этот вопрос был неоднозначным и неправильно задан, поэтому я попытался упростить.

У меня были проблемы при попытке использовать приложение tkinter для создания нескольких циклов из-за неправильного разрушения окна.Мое исправление (которое, я уверен, неверно) заключалось в создании целочисленного цикла и вложении моего класса в это:

for i in range(1, 1000):

if i >= 2:
    root.destroy()

class App(tkinter.Frame): *app code here*

для выхода из приложения:

def OnButtonClick2(self):

        i = -1
        app.destroy()
        root.destroy()
        sys.exit()

в противном случае:

i+=1

По какой-то причине, если бы я дал указание приложению уничтожить после первой итерации, оно оставило бы пустое корневое окно вверх, а затем при повторном создании приложения кнопки были бы неактивными и вложенными вдругое окно.Это избавило от проблемы, но я знаю, что это не правильное решение.

1 Ответ

0 голосов
/ 18 ноября 2018

Либо расположите логику, которую вы хотите повторить, как метод класса, либо поместите все под if __name__ == '__main__' в функцию.Будь метод или функция, вызывайте его в цикле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...