I am using Python 3.x on Windows.
My problem is I want to customize a button widget of ttk
by completely changing its background and foreground color. But so far, I have been unsuccessful.
My desired button is:
I read the ttk.Style
guide and used their code:
ttk.Style().configure("TButton", padding=6, relief="flat",
background="#000")
btn = ttk.Button(text="Sample")
btn.pack()
But it's changing the border color instead of the whole button bakground. Here is the output:
Kindly help me achieve my desired button.
Unfortunately, there isn't an easy way to change the foreground of a button from the
ttk
library. It is always the standard Windows gray like in your picture.But you can easily get what you want with a normal
tkinter.Button
if you set the right options. Below is an example script:And here is what it will look like:
Also, the shade of green I picked was just an example one that I thought was pretty close to what you wanted. But you can specify any hex color code you want. If you need to turn a RGB value into hex, a simple trick is to use
str.format
like so:works for me if you want to change all your buttons to the one you "desire", with Python 2.7 and Tkinter 8.6