Закрытие второго окна Tkinter не работает - PullRequest
0 голосов
/ 27 сентября 2018

Представьте себе следующий очень простой пример:

from tkinter import *
from tempFunctions import *

startingWin = Tk()

button = Button(startingWin, text="Open Other Win", command=lambda: openSecondWin()).grid(row=0, column=0, padx=30, pady=30)

startingWin.mainloop()

Результат выглядит следующим образом:

enter image description here

Нет, если янажимая на кнопку, я открываю второй Win как:

enter image description here

Второе окно имеет следующий код в tempFunctions.py:

from tkinter import *

def openSecondWin():

    secondWin = Tk()

    cancelButton = Button(secondWin, text="Cancel", command=secondWin.quit).grid(row=0, column=0, padx=30, pady=30)

    secondWin.mainloop()

Я ожидаю, что когда я нажму "Отмена", второй выигрыш должен закрыться.Этого не происходит.Что я получаю, так это то, что когда я нажимаю «Отмена», вторая победа не закрывается.Однако, если дважды щелкнуть оба окна (начиная с второго и второго) близко друг к другу.Зачем?

Есть логическое объяснение этому? Спасибо!

ОБНОВЛЕНИЕ:

Попытка ссвязывание приводит к той же проблеме.

Также вторая победа, так как Топлевел не помогает.

1 Ответ

0 голосов
/ 27 сентября 2018

Проблема была в том, что я использовал quit().Однако в случае нескольких окон следует использовать destroy() в соответствии с ответом здесь .Это решило мою проблему.

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