python - Mac上的Python tkinter:直到文件浏览器打开后按钮才会突出显示
问题描述
我正在 Mac 上开发 Python tkinter 应用程序,但遇到了一个奇怪的问题。尽管单击按钮会按应有的方式调用它们的功能,但我发现按下鼠标时按钮不会闪烁不同的颜色(这有助于直观地指示按钮已注册为已单击)。
但是,在我用 打开文件浏览器后tk.filedialog.askdirectory()
,当按下鼠标时,应用程序中的所有按钮都会变为蓝色。
你能告诉我为什么会这样吗,你能告诉我如何默认发生这种情况吗?
编辑:这是我制作的一个简单测试程序的示例,其中出现了同样的问题:
import tkinter as tk
from tkinter import filedialog as fd
def addText():
label = tk.Label(labelsFrame, text="This is text.")
label.pack()
def openBrowser():
fd.askdirectory()
root = tk.Tk()
buttonsFrame = tk.Frame(root)
buttonsFrame.grid(row=0, column=0)
labelsFrame = tk.Frame(root)
labelsFrame.grid(row=1, column=0)
button1 = tk.Button(buttonsFrame, text="Add Text", command=addText)
button1.grid(row=0, column=0)
button2 = tk.Button(buttonsFrame, text="Open Browser", command=openBrowser)
button2.grid(row=0, column=1)
tk.mainloop()
解决方案
推荐阅读
- android - 由于 Android 中的数据存储迁移,应用升级后应用崩溃
- python - 如何访问项目根文件夹中的文件?
- c++ - 在 C++ 中创建具有不同参数的多个构造函数的正确方法?
- python - matplotlib 中“关闭”路径参数的含义
- java - Java Annotation如何获取特定注解的当前ElemenType
- python - Pandas - 从 Pandas 中的同一字符串中选择几个浮点数来操作它们
- python - 用于动态分组的 Python pandas 小计,如何让总数始终出现在分组的末尾?
- node.js - 使用 Promise.all() 结果执行另一个查询的语法
- .htaccess - 也将非 www 重定向到 www 子页面
- php - php.ini 更新未反映在 phpinfo() 输出中