Довольно досадно, что спустя годы это все еще остается проблемой.
В любом случае, как уже упоминали другие, highlightbackground (цвет рамки) можно использовать вместо фона на Mac. Если вы увеличите размер границы до огромного (размер кнопки или больше), вы получите красивый сплошной цвет фона. Это придаст вашей кнопке вид метки.
Это работает, если вы используете место, но не если вы используете что-то вроде сетки. При использовании сетки увеличение размера рамки автоматически увеличивает размер кнопки, к сожалению.
Однако, если вам нужно использовать сетку, вы всегда можете взломать ее ... создайте свою бесцветную кнопку сетки. Затем используйте место для родительской кнопки цвета фона поверх него. Это будет кнопка с «командой» или кнопка, с которой вы связываете события.
Если вы хотите, чтобы ваш код был независимым от ОС, вы можете либо добавить оператор «if OS ==« Mac »», либо даже добавить пользовательскую функцию, которая изменяет кнопку, если она на Mac, но оставляет ее отдельно в Windows или Linux. Вот первый:
from tkinter import *
import platform
if platform.system() == "Darwin": ### if its a Mac
B = Button(text="Refersh All Windows", highlightbackground="Yellow", fg="Black", highlightthickness=30)
else: ### if its Windows or Linux
B = Button(text="Refresh All Windows", bg="Yellow", fg="Black")
B.place(x=5, y=10, width=140, height=30)
mainloop()