Добрый день. Я создаю текстовую таблицу в grid (см. скриншот). При этом создается 70 виджетов типа Label за 3 секунды. Если увеличить текст в 2 раза, то время создания таблицы увеличится до 6-7 секунд. Можно ли как-нибудь улучшить производительность?
Код такой:
#!/usr/bin/python3
import tkinter as tk
font='LiberationSerif 14'
def add_row(col,row_no):
root.grid_rowconfigure(row_no,weight=0)
for i in range(len(col)):
tk.Label(root,text=col[i],font=font,wraplength=300,justify='left').grid(row=row_no,column=i,sticky='nw',padx=10)
root=tk.Tk()
article='''Общая лексика неожиданный поворот дел попытка сделка ход
ходьба движение энергия мода
Габон (государство в юго-западной Африке) присест (Баян) заход (I cannot do it in one go - Я не могу сделать это за один заход / с первого захода Баян) готовый к запуску
готовый к пуску готовый к эксплуатации порция вина порция кушанья
употребление оборота собираться сделать (что-л.) бросок (в спортивных играх, кегельбане) глоток (вина)
порция (кушанья) приступ (о болезни) вести (о дороге, пути) стать (стать кем-либо, стать каким-либо // A cop gone bad / We've gone green. / The Merciless is a story of good girls gone evil. 4uzhoj)
Австралийский сленг принятое решение
Американизм с собой (fast food service scardanelli)
Американизм try (Let me have a go at solving the problem)
Военный термин "начинайте передачу"
Военный термин все в порядке готов о'кей поехали
Интернет переход (кнопка на вебсайте gconnell)
Контроль качества проход (надпись на приёмной стороне предельного калибра)
Макаров go (в сочетании с последующим герундием выражает действие, соответствующее значению герундия)
'''
article=article.splitlines()
for i in range(len(article)):
article[i]=article[i].split('\t')
add_row(article[i],i)
root.mainloop()