tkinter в python 3.6 в windows модальные окна блокируют функции deiconify - PullRequest
0 голосов
/ 17 мая 2019

python 3.6.1, windows 10, ткинтер при сворачивании приложения с текущим открытым модальным окном (путем встряхивания окна или нажатия кнопки «Показать рабочий стол») оно блокирует все усилия по максимизации / отмене / восстановлению окна, оставляя его застрявшим снятым

уже активно гуглил, и, похоже, это проблема, которая была «решена» еще в python 2.7, а тестирование под windows 7 - не проблема на 3.6.

import tkinter as tk

class GUI:
    def __init__(self, master):
        self.master = master
        self.button = tk.Button(master, text='open modal', command=self.openModal)
        self.button.pack()

    def openModal(self):
        self.modal = tk.Toplevel(self.master)
        self.modal.wm_transient(self.master)
        self.modal.grab_set()

        self.deiconifyButton = tk.Button(self.modal, text='deiconify me', command=self.master.deiconify)
        self.deiconifyButton.pack()

if __name__ == '__main__':
    root = tk.Tk()
    gui = GUI(root)
    root.mainloop()

окно должно деиционировать оба окна с фокусом, все еще нацеленным на модальное окно, но модальное окно просто блокирует все попытки деиконифицировать корневое окно

EDIT: ссылка на отчет об ошибке, в котором другие сомневаются в полноте исправления: https://bugs.python.org/issue26340 demo

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