На Python 3.6 и 3.7 на MacOS 10.12.6, tkinter.Button
изначально не реагирует на щелчки - но тот же код отлично работает на Python 3.5.
Если я запускаю следующий скрипт:
import tkinter as tk
root = tk.Tk()
button = tk.Button(root, text='Button')
button.pack()
root.mainloop()
, то в Python 3.6 и 3.7, как и ожидалось, появляется окно с одной кнопкой, которое визуально не отключается, но при нажатиина это никак не влияет.
Изменение размера окна или нажатие в другом месте в нем не решает проблему.Однако если я выведу другое приложение на передний план, а затем выведу приложение Python на передний план, все будет отлично, и я не смогу заставить проблему снова появиться.
В Python 3.5, запуск тестового скриптавызывает приложение и кнопка сразу реагирует на нажатия - как и ожидалось.Эксперимент не смог воспроизвести какие-либо проблемы в 3.5.Сценарий также отлично работает в Python 2.7, если tkinter
заменен на Tkinter
.
Изменение менеджера компоновки pack
на grid
дало точно такие же результаты.
Я пошелчто касается перезагрузки компьютера без изменений.
Я почти на 100% уверен, что двоичные файлы и библиотеки Python 3.6 и Python 3.7 находятся в хорошем состоянии.Они по сути чистые установки, так как я работаю полностью в virtualenvs.И мое нетривиальное приложение tkinter
работает одинаково на Python 3.5, 3.6 и 3.7, за исключением одной проблемы.