tkinter - 有没有办法在 tkinter Canvas 上重新开始(重置)项目编号?
问题描述
在 tkinter Canvas 中删除一个项目后,每次创建一个新项目时,它的 ID 值都会比前一个大。即使您删除所有项目 (.delete'all') ,新项目的值也永远不会再次成为数字#1,在最后创建/删除项目后将继续编号。
有没有办法在不删除和创建新画布的情况下重置编号?
import tkinter
t = tkinter.Canvas()
t.pack()
for j in range (5):
for i in range(1, 11):
item=t.create_line((0, i, i, 100), tag= 'line')
print(t.find_all())
t.delete("all")
mainloop()
在上面的代码中创建 5 个新项目后,我删除了它们并期望重置编号顺序。
结果我得到了
(1, 2, 3, 4, 5)
(6, 7, 8, 9, 10)
(11, 12, 13, 14, 15)
(16, 17, 18, 19, 20)
(21, 22, 23, 24, 25)
但我想得到:
(1, 2, 3, 4, 5)
(1, 2, 3, 4, 5)
(1, 2, 3, 4, 5)
(1, 2, 3, 4, 5)
(1, 2, 3, 4, 5)
解决方案
有没有办法在 tkinter Canvas 上重新开始(重置)项目编号?
不,那里没有。
推荐阅读
- reactjs - 滚动到一行
- c++ - Visual Studio 2019 - 如何将 .lib 添加到 c++ 库项目?
- flutter-layout - 模态底页被抬起时如何使颤动动画全屏播放?
- c++ - QPainter 动画
- python - 错误:AssertionError:无法计算输出张量(“dense/Softmax:0”,shape=(None,3),dtype=float32)
- android - 本地库模块依赖 kotlin multiplatform
- python - 如何使事件停止与命令重叠
- javascript - 为什么这个 window.matchMedia 调用在 Ubuntu 上返回陈旧数据,而它在 MacOS 上是最新的?
- angular - 使用现有过滤器以角度过滤多个列
- spring-boot - Springboot中使用kotlin,@Value无法从application.xml文件中获取值