How do I remove the light grey border around my Canvas widget?

Section 6.8 Why doesn’t the canvas seem to start at 0,0? of the Tk Usage FAQ describes the phenomenon.

I was able to eliminate the border artefact with slight changes to the posted source…

Change this:

w = Canvas(master, width=150, height=40, bd=0, relief="ridge")
w.pack()

to:

w = Canvas(master, width=150, height=40, bd=0, highlightthickness=0, relief="ridge")
w.pack()

and this:

x0 = 2
y0 = 2
x1 = 151
y1 = 2

to:

x0 = 0
y0 = 0
x1 = 150
y1 = 0

Interestingly enough, the "borderwidth" attribute did not make a difference, but I left it in per the FAQ.

Running w.config() immediately after the Canvas initialization statement showed the defaults to be 2 for highlightthickness and 0 for border width.

Leave a Comment