2017-12-10 4 views
1

Ich bin auf dieses seltsame Verhalten von Tkinter gestoßen, wo die ersten 3 Zeilen in x- und y-Richtung (x = 0,1,2 und y = 0,1,2) nicht wirklich auftauchen.Python - Tkinter (Canvas) - Oben links Ecke Pixel fehlt?

Zum Beispiel, wenn ich den folgenden Code ausführen,

from tkinter import * 
master = Tk() 

w = Canvas(master, width=200, height=200) 

w.pack() 

w.create_line(0, 0, 0, 100, fill="red") 
w.create_line(1, 0, 1, 100, fill="blue") 
w.create_line(2, 0, 2, 100, fill="green") 
w.create_line(3, 0, 3, 100, fill="black") 

w.create_line(0, 0, 100, 0, fill="red") 
w.create_line(0, 1, 100, 1, fill="blue") 
w.create_line(0, 2, 100, 2, fill="green") 
w.create_line(0, 3, 100, 3, fill="black") 

mainloop() 

I would get this result, beachten Sie, wie in beide Richtungen, die roten, blauen und grünen Linien zeigen sich nicht. Nur die schwarzen Linien zeigen sich. Ich habe versucht zu suchen, konnte aber nichts zu diesem Thema finden. Vielen Dank im Voraus!

Antwort

1

Die borderwidth und highlightthickness auf Null setzen. Der Rahmen wird innerhalb der Grenzen der Leinwand gezeichnet.

w = Canvas(..., borderwidth=0, highlightthickness=0) 
+0

Das hat funktioniert, danke! –