首页 > 解决方案 > 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()

标签: pythontkinterpython-3.8

解决方案


推荐阅读