Сдвиг Label по центру

Пытаюсь установить label так, чтобы его текст фокусировался по центру и сам лейбл занимал два колюмна - вних стоят левые и правые кнопки. Задача частично решена, но есть проблема с самим текстом, и тем, что justify заставляет этот лейбл выходить за границы своего колюмна. На картинке результат работы текущего кода

Результат сейчас, растянув окно в ручную

А хочу получить вот так

Вот так хочу

Не понимаю, как реализовать то, что мне нужно.

Буду ждать помощи, спасибо.

from tkinter import *

class App:
    
    def __init__(self):
        self.root=Tk()
        self.root.title('Practice app')
        self.root.geometry('150x70')

    def create(self):
        frame=Frame(self.root)
        frame.pack()
        lblText=StringVar(value='None')
        self.label=Label(frame,textvariable=lblText,bg='gray')     
        Button(frame, width=5, heigh=1, text='Red', command= lambda:self.setColor('red',lblText)).grid(row=0,column=0)
        Button(frame, width=5, heigh=1, text='Green',command= lambda:self.setColor('green',lblText)).grid(row=0,column=1, padx=50)
        Button(frame, width=5, heigh=1, text='Cyan',command= lambda:self.setColor('cyan',lblText)).grid(row=1,column=0)
        Button(frame, width=5, heigh=1, text='Pink',command= lambda:self.setColor('pink',lblText)).grid(row=1,column=1)
        self.label.grid(row=2,column=0, sticky='we', columnspan=2)

    def setColor(self,color,param):
        self.label.config(bg=color)
        param.set(color)
        


    def run(self):
        self.create()
        self.root.mainloop()


app=App()
app.run()

Ответы (1 шт):

Автор решения: LG Блоха

Решением модет стать закидванием текста между колоннами и дать этому тексту padx=25. Главное еще не забыть дать лейдлу columnspan=3 и получится вот такой вот скрипт:

from tkinter import *

class App:
    
    def __init__(self):
        self.root=Tk()
        self.root.title('Practice app')
        self.root.geometry('150x70')

    def create(self):
        frame=Frame(self.root)
        frame.pack()
        lblText=StringVar(value='None')
        Label(frame,text=" ").grid(row=0,column=1,padx=25)
        Label(frame,text=" ").grid(row=1,column=1,padx=26)
        self.label=Label(frame,textvariable=lblText,bg='gray')     
        Button(frame, width=5, heigh=1, text='Red', command= lambda:self.setColor('red',lblText)).grid(row=0,column=0)
        Button(frame, width=5, heigh=1, text='Green',command= lambda:self.setColor('green',lblText)).grid(row=0,column=2)
        Button(frame, width=5, heigh=1, text='Cyan',command= lambda:self.setColor('cyan',lblText)).grid(row=1,column=0)
        Button(frame, width=5, heigh=1, text='Pink',command= lambda:self.setColor('pink',lblText)).grid(row=1,column=2)
        self.label.grid(row=2,column=0,columnspan=3,sticky="we")

    def setColor(self,color,param):
        self.label.config(bg=color)
        param.set(color)
        


    def run(self):
        self.create()
        self.root.mainloop()


app=App()
app.run()

Надеюсь, поможет. Аутпут:

→ Ссылка