Удалить автоматический разрыв между виджетами python Tkinter с привязкой к сетке

#python #tkinter

#python #tkinter #tkinter-canvas

Вопрос:

Я использую python2 в Windows. Когда я запускаю следующий код, я получаю разрыв между двумя холстами (см. Рисунок ниже), хотя при их привязке к сетке заполнение не указано. Есть ли какая-либо возможность удалить это?

 import Tkinter as tk
import ttk

class App(tk.Tk):

    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)
        self.c1 = tk.Canvas(master=self, background='white', borderwidth=0,
                            relief=tk.FLAT)
        self.c2 = tk.Canvas(master=self, background='white', borderwidth=0,
                            relief=tk.FLAT)
        self.c1.grid(row=0, column=0, sticky=tk.NSEW)
        self.c2.grid(row=1, column=0, sticky=tk.NSEW)

        self.mainloop()

App()
  

введите описание изображения здесь

Спасибо за помощь!

Ответ №1:

Вам также необходимо установить highlightthickness равным нулю.

 self.c1 = tk.Canvas(..., highlightthickness=0)
  

На странице canvas effbot highlightthickness объясняется как:

Ширина границы выделения. Значение по умолчанию зависит от системы (обычно один или два пикселя). (Выделенная толщина / HighlightThickness)

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

1. Это сработало! Большое спасибо! Это также объясняет, почему раньше в Linux разрыв был меньше.