python-3.x - Python 和 Catalina 的菜单问题
问题描述
环境:macOS Catalina 10.15、Python 3.7.4 via pyEnv、Tcl/Tk 8.6.9、Visual Studio Code 1.39.2
我在调试代码时遇到了 Python 菜单在启动时对鼠标单击没有响应的问题。
升级到 Catalina 后,我通过 Homebrew 重新安装了 pyEnv 和 Tcl/Tk,然后通过 pyEnv 安装了 Python 3.7.4。这与我在运行 macOS Mojave 的另一台 Mac 上的设置相同,但我的另一台 Mac 没有出现此问题。
是否有其他人在使用 macOS Catalina 的 Mac 上遇到此问题?
import tkinter as tk
root = tk.Tk()
root.mainloop()
当它运行时,它会在我的 Mac 上显示一个 tk 窗口,但顶部的 Python 菜单不会响应鼠标单击,直到我 CMD+Tab 或单击退出应用程序,然后 CMD+Tab 或单击返回到它。在完成这两件事中的一件之后,菜单会按应有的方式响应鼠标点击。它的行为就像 Python 没有焦点一样,但据我所知它确实如此。
编辑:上面的代码非常简约,只是为了说明一点。但是为了更好地演示,我添加了一个带有按钮的框架以及@Mike - SMT 建议的 root.update_idletasks() 。
import tkinter as tk
root = tk.Tk()
root.geometry("300x300+15+15")
myFrame = tk.Frame(root)
myFrame.grid(column=0, row=0, padx=5, pady=5, sticky="nsew")
myButton = tk.Button(myFrame, text="Quit", command=lambda: exit())
myButton.grid(column=0, row=0, padx=10, pady=10, sticky='ew')
root.update_idletasks()
root.mainloop()
解决方案
您描述的问题听起来与我几个月前在 macOS Catalina 上的 Tk 中的上游问题相同,但由于难以重现该问题并为其找到可行的解决方案,因此仍未解决。
如果您有兴趣获取有关该问题的任何更新,或者想帮助调查它,我建议在票证中添加评论。
推荐阅读
- android - groovy.lang.MissingPropertyException:无法获取未知属性“manifestOutputFile”
- django - Django - manage.py collectstatic 保存到错误的文件夹
- python - 如何在熊猫的数据框中添加索引
- python - pip install ... 不起作用:pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用
- python - RuntimeError:尺寸不匹配,m1:[32 x 1],m2:[32 x 9]
- javascript - 当 typeof 在函数上运行时,它返回“function”作为类型。为什么它不返回“对象”?
- ios - 使用 NavigationView 的模态演示
- azure-virtual-machine - terraform 报告错误“无法使用带有空列表的元素函数”
- c# - 如何访问 dotnet core 中的资源并获取其 URI
- html - 在不使用实际行/列表的情况下将图像居中