Python Forum
Tkinter - How can I remove the background borders from ttk.Button? - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: GUI (https://python-forum.io/forum-10.html)
+--- Thread: Tkinter - How can I remove the background borders from ttk.Button? (/thread-30368.html)



Tkinter - How can I remove the background borders from ttk.Button? - TurboC - Oct-17-2020

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]


RE: Tkinter - How can I remove the background borders from ttk.Button? - Gribouillis - Oct-18-2020

I would try borderwidth=0 in the call to create the button or the Style.


RE: Tkinter - How can I remove the background borders from ttk.Button? - TurboC - Oct-18-2020

(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..


RE: Tkinter - How can I remove the background borders from ttk.Button? - Gribouillis - Oct-18-2020

For me it works in Linux if I use
style.configure("TButton", padding=0, background="#ffffff", borderwidth=0)



RE: Tkinter - How can I remove the background borders from ttk.Button? - TurboC - Oct-18-2020

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!