Задача стоит такая: необходимо при чтении строк 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. Буду признателен за советы.