Tworzę prosty programik do nauki pisania bez patrzenia na klawiaturę. Na żółtym tle są wyświetlane litery dotychczas wpisane przez użytkownika, na fioletowym pozostałe. Ramkę, której nie mogę usunąć, zakolorowałem na zrzucie ekranu na czerwono (w programie ma kolor domyślny - szary). Zależy mi na jej usunięciu, bo przez jej obecność litery przesuwają się podczas wpisywania. Ustawiłem rodzaj ramki na solid (relief='solid'), żeby była widoczna, gdyby była rysowana i jej grubość na 0 (borderwidth=0). Okazuje się, że to nie wyłączyło ramki. Poniżej zrzut ekranu i kod odpowiadający za widok aplikacji. W kodzie widać skutki walki z tą ramką, zerowanymi (pewnie w wielu miejscach niepotrzebnie) padingami.
from tkinter import *
from tkinter import ttk
class GameView(ttk.Frame):
def __init__(self, master):
ttk.Frame.__init__(self, master)
self.grid()
self.columnconfigure(0, pad=0)
self.columnconfigure(1, pad=0)
self.style=ttk.Style()
self.style.configure('Entered.TLabel',
font='consolas 24',
foreground='green',
background='yellow',
padding=(20, 5, 0, 5),
relief='solid',
borderwidth=0)
self.style.configure('Remains.TLabel',
font='consolas 24',
foreground='black',
background='purple',
padding=(0, 5, 20, 5),
relief='solid',
borderwidth=0)
self.entered_chars = StringVar()
self.remains_chars = StringVar()
self.entered_chars.set('th')
self.remains_chars.set('ird')
self.entered_chars_label = ttk.Label(self, textvariable=self.entered_chars, style='Entered.TLabel')
self.remains_chars_label = ttk.Label(self, textvariable=self.remains_chars, style='Remains.TLabel')
self.entered_chars_label.grid(column=0, row=0, padx=0, ipadx=0, sticky='w')
self.remains_chars_label.grid(column=1, row=0, padx=0, ipadx=0, sticky='e')
root = Tk()
view = GameView(root)
view.mainloop()