Как изменить текст кнопки ttk?

Есть главная переменная nmbr, которая является списком (изначально списком списков). От неё зависят как тексты в кнопках, так и их действие. Сама же переменная зависит от действий кнопок. Так вот, действия кнопок меняют переменную, но переменная при этом не хочет менять текст в кнопках. Методы root.update и root.after не помогают. Вот начало с функцией для определения текста кнопок:

from tkinter import *
from tkinter.ttk import *
nmbr = [i for i in range(81)]
for i in range(len(nmbr)) :
    nmbr[i] = [j for j in range(1, 10)]

def butt_txt(i):
    nmb = nmbr[i]
    if type(nmb) == int : nm = nmb
    else :
        nm = []
        for i in range(1, 10) :
            if i not in nmb : nm.append("  ")
            else : nm.append(i)
        nm = f'{nm[0]}   {nm[1]}   {nm[2]}\n{nm[3]}   {nm[4]}   {nm[5]}\n{nm[6]}   {nm[7]}   {nm[8]}'
    return nm

Вот класс кнопок:

class MyButton(Frame):
    def __init__(self, parent, text="", height = 35, width = 35, *args, **kwargs):
        Frame.__init__(self, parent, height=height, width=width)
        
        self.pack_propagate(0)
        self._btn = Button(self, text = text, *args, **kwargs)
        self._btn.pack(fill = BOTH, expand = 1)

Вот так они упакованы:

class Example(Frame):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
        self.master.title("....")
        
        b0 = MyButton(self, text= butt_txt(0), style = butt_stl(0), command = lambda: cmnd(0))
        b0.grid(row=0, column=0)
        .....
        self.pack()

Функцию свою они исполняют - в зависимости от того, какая кнопка нажата и что в дальнейшем выбрано, меняется переменная nmbr. Как обновить текст кнопки после того, как изменилась nmbr?


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