'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:
What I expected:
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:
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.
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 |



