我正在尝试在 Tkinter 中做一个 GUI,并且我在 textpad 中有 100 万个条目。因此,我将一个函数绑定到应在鼠标单击时调用的每个条目。但是随着条目被插入到文本板并绑定到函数,在 60 万个条目之后,GUI 开始冻结(我目前正在使用 python-SQL 来减少 RAM 上的内存使用)。
traces=sql_database.debug_read(id_count) #reading data from SQL
x1=0 #tag number for binding
for i in range(len(traces)):
Id,t_s,tra_id,t_d=traces[i] #splitting data to be printed
m,g,s_t=dict2[tra_id] #checking data with a dictionary
filtered_data=t_s+tra_id+t_d
data_to_print=str(t_s)+'\t '+m+'\t '+g+'\t '+s_t
textPad.insert('end',data_to_print,x1)
if i%20000==0:
mainWindow.update()
textPad.see(END)
textPad.tag_bind(x1,'<1>'(lambda e,x1=x1:decoder_fun(x1,t_d)))
x1=x1+1
没有事件绑定,GUI 工作正常。cpu 使用率和 RAM 使用率中等,有绑定。