缓慢的Tkinter行为

时间:2015-06-29 10:26:43

标签: tkinter

这是一个简单的GUI程序,可以创建一个5x16的按钮矩阵。

from tkinter import *

root = Tk()
button = [[0 for x in range(16)] for x in range(5)]
for r in range(5):
    for c in range(16):
        button[r][c] = Button(root,  bg='red')
        button[r][c].grid(row=r, column=c)       
root.mainloop()

现在,当我在相对较好的Ubuntu笔记本电脑上运行此程序时(Ram 4 GB,四核Intel Pentium(R)CPU N3540 @ 2.16GHz×4,64位),

按钮显示得非常缓慢,如此gif所示:

enter image description here

要求让Tkinter在没有这种迟钝的情况下处理太多的80个按钮?

或者我的代码可以重构以获得更好的性能吗?

1 个答案:

答案 0 :(得分:1)

如果问题中的代码确实存在,那么系统肯定存在问题。这应该几乎是瞬间出现的。

不,没有办法重构以获得更好的性能。如果您需要一个包含80个按钮的网格,那么您执行此操作的方式就像您可以实现的那样高效。