在Tkinter Canvas上,更新一段文字canvas.itemconfig(text, text='new text')
或删除文字并将新文字写入屏幕的速度更快。
删除文字并添加新文字:
text = canvas.create_text(200, 200, text='old text')
canvas.delete(text)
text = canvas.create_text(200, 200, text='old text')
使用itemconfig
text = canvas.create_text(200, 200, text='old text')
canvas.itemconfig(text, text='new text')
答案 0 :(得分:2)
一件物品更快无关紧要。当必须管理大量对象ID时,画布存在性能问题 1 ,即使它们是已删除项目的ID。每次删除和创建文本时,都会添加另一个ID。如果一遍又一遍地删除并重新创建文本项,最终会导致性能问题。
最佳解决方案是配置现有项目的文本。
1 我不能引用此参考。我环顾四周,无法找到明确的记录,但我过去曾亲眼看到过这个问题。
答案 1 :(得分:0)
至于哪个更快,它真的不会产生太大的影响,因为毕竟我们谈论的是几分之一秒。你可以说虽然canvas.itemconfig
只有一行代码,但删除然后重新添加文本是2行和2个命令,因此canvas.itemconfig
可能会使其更快或使代码更有效。所以...除非你遇到canvas.itemconfig的问题,否则我会暂时坚持下去。