Python Forum

Full Version: Tkinter - How can I remove the background borders from ttk.Button?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
by default, the buttons from ttk module, have a one pixel border. how can I delete this border? below an example code:

from tkinter import *
from tkinter import ttk

root = Tk()
root.geometry("400x300")

style=ttk.Style()
style.configure("TButton", padding=0, background="#ffffff") # I colored the background border white to make it visible in the window.. but, I don't want it, I want to delete the border!

MyButton = ttk.Button(root, text="I have a white border.. how can I delet it?")
MyButton.place(x=16, y=16)

root.mainloop()
I don't want to change the border color in order to hide it in the window,I want to delete it.

[Image: PQ9EE.png]
I would try borderwidth=0 in the call to create the button or the Style.
(Oct-18-2020, 07:17 AM)Gribouillis Wrote: [ -> ]I would try borderwidth=0 in the call to create the button or the Style.
I had already tried but it doesn't work.. if I add the "borderwidth=0" option in the style object, it just doesn't work, but if I add this option in MyButton object, the script doesn't start because of the below error message:

_tkinter.TclError: unknown option "-borderwidth"

how can I delete this annoying border? I really can't find a solution. I'm becoming crazy..
For me it works in Linux if I use
style.configure("TButton", padding=0, background="#ffffff", borderwidth=0)
mm.. I don't use Linux now, but from your screenshot, it seems that the button has not the native border anymore. now it looks like a label, but it's not what I want to do, I want to delete the "extra" border, not the native border of the TTK button.

however, I want to delete the extra border because I must allign perfectly the button widgets with the other kind of widgets in my Frame (they don't have the extra border) using the grid method. now, to solve this issue, I created an 1px column to take the extra border.. but it's a workaround, it's not a real solution!