Изменение текста ttkbootstrap.Label в цикле (Python)

Задача стоит такая: необходимо при чтении строк excel-таблицы в нижней части окна выводить текст одного из столбцов этой таблицы. Создан виджет Label (GIU TTKBootstrap) Пробовал конфигурировать свойство "text", пробовал использовать textvariable и методом .set() присваивать текстовое значение... Ничего не помогает - текст в нижней части окошка не выводится. Думаю, что просто не учитываю что то пустяшное, но опыта и знаний понять что не так не хватает. Ниже кусок кода функции:

    def load_parskats(self):
        self.var_text = tb.StringVar()
        self.var_text.set("Datu ielāde var ilgt vairākas minūtes...")
        self.lbl_mess = tb.Label(self.main_frame, 
                                 text= "",
                                 textvariable=self.var_text,
                                 style="alarm.TLabel",
                                 )
        self.lbl_mess.grid(row=5,column=0,columnspan=3,padx=(25,25),pady=(20,0),sticky="w")
        self.ent_filename["state"] = "normal"
        # self.lbl_mess.configure(text="Datu ielāde var ilgt vairākas minūtes...")
        if self.imp_file == None or len(self.imp_file) == 0 or self.imp_file == "":
            mi.miw("Uzmanību!","Fails nav atlasīts!",1)
            return
        # удаляется старая оборотка
        self.sql_query = "DELETE FROM "+ self.db_name + ".Gp_apgrozijumi WHERE Ap_gpid=%s"
        self.db_curs.execute(self.sql_query,(self.gp_id,))
        self.db_cnct.commit()
        # собственно загрузка оборотки        
        self.wb = op.load_workbook(self.imp_file)
        self.wb.save(self.imp_file)
        self.s = self.wb.active      
        for i in range(100000000):
            crit = self.s.cell(row=(i+1),column=1).value
            if crit == "" or crit == " " or crit == None or crit == 0:
                break
            r = list()
            for j in range(8):
                c = self.s.cell(row=(i+1),column=(j+1)).value
                if c == "" or c == " " or c == None or c == 0:
                    r.append(" ")
                else:
                    r.append(self.s.cell(row=(i+1),column=(j+1)).value)
###################################################################################################
            ic(r[1])
            self.var_text.set(r[1])            
            # self.lbl_mess.configure(text=r[1])            
            # self.lbl_mess["text"] = r[1]
            time.sleep(0.2)
###################################################################################################
            self.sql_query = "INSERT INTO " + self.db_name + ".Gp_apgrozijumi (Ap_gpid,Ap_konts,Ap_postenis,Ap_sakds,Ap_sakks,Ap_db,Ap_kr,Ap_beigds,Ap_beigks) "+ \
                             "VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s)"
            self.db_curs.execute(self.sql_query,(self.gp_id,r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],))
            self.db_cnct.commit()

        self.lbl_mess["text"] = "Datu ielāde pabeigta. Noklikšķiniet uz pogas [aizveriet]."
        fnc.show_alarm("load")
        time.sleep(2)
        self.lbl_mess.destroy()
 

Текст который необходимо показать - в переменной r[1]. Буду признателен за советы.


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

Автор решения: Dva2lin

Инфа с другого форума: При обработке в цикле подобная информация отобразится только при выполнении

self.update()

... Вот и вся простота )))

→ Ссылка