'Tkinter button background color is not working in mac os

I am trying to change the bg color of a tkinter button on my mac (catalina) but instead of getting a colored background, it is showing a blank space in the layout.

The button code I used:

OpeningFile = Button(root, width=45, bg="#82CC6C", fg="black", text="OPEN", highlightbackground="#82CC6C", highlightthickness=1, borderwidth=0.2, relief="groove", padx=0, pady=0, command=openfile)

OpeningFile.grid()

Result I am getting:

Error button

What I expected:

Expected rersult

I tried changing many parameters but it is still giving me the same result,

Can it be fixed or it is a bug in tkinter inside mac only? (It was working properly in windows)



Solution 1:[1]

I got the fix:

Use tkmacosx module for tkinter buttons in mac, use "from tkmacosx import Button", and then change the parameters and use borderless=1 to remove the unnecessary layout. You can see the result I got after using the module:

MacOS screenshot

Solution 2:[2]

I was looking for information on the same issue and it seems to be a limitation with tkinter using the MacOS APIs. Basically MacOS says the button colors can't change so tkinter can't change them.

https://github.com/python/cpython/issues/88409

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Akascape
Solution 2 Casimir Couvillion