Tkinter — Прямоугольник верхней и левой границ уменьшен на 1 пиксель

#python #tkinter

#питон #tkinter

Вопрос:

В настоящее время я работаю над генератором лабиринтов на Python с использованием Tkinter, и у меня есть графическая проблема, касающаяся того, как Tkinter обрабатывает прямоугольники на верхней и левой границах.

Кажется, что это уменьшает их размер на 1 пиксель на этих границах.

Вот пример, где ширина прямоугольников фиксирована на 3 пикселя, но верхний и левый имеют ширину 2 пикселя.

Кто-нибудь знает, как это исправить ?

Вот код, создающий эти прямоугольники, на случай, если он пригодится :

 self.canvas.create_rectangle(0,0,wall_width,self.h,fill='black') #Top self.canvas.create_rectangle(0,0,self.w,wall_width,fill='black') #Left self.canvas.create_rectangle(0,self.h - wall_width,self.w,self.h,fill='black') #Bottom self.canvas.create_rectangle(self.w - wall_width,0,self.w,self.h,fill='black') #Right  

wall_width — это ширина стены в пикселях

self.h и self.w-это размеры холста

Комментарии:

1. Когда вы определите свой холст, попробуйте настроить highlightthickness = 0 его .

2. Спасибо, это было решение! Как мне отметить вопрос как решенный ?

Ответ №1:

Удаление подсветки из Canvas позволит верхним левым координатам начинаться с 0,0 вместо 2,2

 self.canvas = tk.Canvas(master, highlightthickness = 0, ...)