我正在使用 tkinter 生成一个 gui。
from Tkinter import *
root = Tk()
root.title("explorer")
f=Canvas(root, width=1200, height=768)
f.grid()
main_line = f.create_line(200,300,300,300, tags="main_line_tag", width=5)
mainloop()
在上面的示例中,我想在该行旁边打印标签和 ID。我该怎么做。
更新
main_line = f.create_line(200,300,300,300, tags="main_line_tag", width=5)
tags_text = ', '.join(f.gettags(main_line))
line_text = "%s: %s" % (main_line, tags_text)
f.create_text(220,320, text=line_text)
解决方案有效,但我的实际要求是
f=Canvas(root, width=1200, height=768)
f.grid()
class Create:
def __init__(self,xy,t):
self.xy=self.xy
self.t=t
for i in range(1, self.t+1):
exec 'main_line%d = f.create_line(200,300,300,300, tags="main_line_tag%d")' %(i,i)
#end of class Create
def update(t,newxy):
for i in range(1,t+1):
exec'f.coord(main_line%d, *newxy)'%i
mainloop()
在上面的示例代码中,当我运行代码时,我试图更新线的坐标,我得到 main_line1 未定义..即使对于标签也是如此。如何解决这个问题。
谢谢