有人知道为什么制作数千个小标签需要这么长时间吗? Python,Tkinter

问题描述 投票:0回答:1

有人知道为什么使用标签打印100x100矩阵的内容需要这么长时间?下面是一个例子。我也乐于接受任何其他想法。

try:
    from Tkinter import *
except:
    from tkinter import *
import numpy as np

dbnm = Tk()
a = np.zeros([100,100])
for i, ii in enumerate(a):
    for j, k in enumerate(ii):
        Label(dbnm, text = '  ', k, '  ').grid(row=i,column=j)

dbnm.mainloop()

感谢您的时间

python numpy tkinter time label
1个回答
0
投票

这仅仅是因为tkinter并非旨在制造10,000个小部件。 grid必须对每个单元格进行公平数计算。进行这些计算10,000次加起来。即使切换到place,在该位置上您将每个单元格明确地放置在特定位置,也会非常缓慢。

[如果您在画布上而不是使用标签和grid绘制文本,它将执行几个数量级的速度,但是在10,000个文本项上,甚至画布也会开始下陷。

© www.soinside.com 2019 - 2024. All rights reserved.