在 MacOS 10.12.6 上的 Python 3.6 和 3.7 上, atkinter.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 中的任何问题。如果tkinter被替换为Tkinter.
将pack布局管理器更改grid为完全相同的结果。
我什至重新启动了机器,没有任何变化。
我几乎 100% 确定 Python 3.6 和 Python 3.7 二进制文件和库处于良好状态。它们本质上是全新安装,因为我完全在 virtualenvs 中工作。tkinter除了这个问题之外,我的非平凡应用程序在 Python 3.5、3.6 和 3.7 上的运行完全相同。
墨色风雨
相关分类