Tkinter教程之Canvas篇(2)

时间:2023-12-06 12:28:44

本文转载自:http://blog.csdn.net/jcodeer/article/details/1811888

'''Tkinter教程之Canvas篇(2)'''
Tkinter教程之Canvas篇(2)'''9.创建item的tags'''
Tkinter教程之Canvas篇(2)# -*- coding: cp936 -*-
Tkinter教程之Canvas篇(2)# 使用属性tags设置item的tag
Tkinter教程之Canvas篇(2)# 使用Canvas的方法gettags获取指定item的tags
Tkinter教程之Canvas篇(2)from Tkinter import *
Tkinter教程之Canvas篇(2)root = Tk()
Tkinter教程之Canvas篇(2)# 创建一个Canvas,设置其背景色为白色
Tkinter教程之Canvas篇(2)cv = Canvas(root,bg = 'white')
Tkinter教程之Canvas篇(2)# 使用tags指定一个tag('r1')
Tkinter教程之Canvas篇(2)rt = cv.create_rectangle(10,10,110,110,
Tkinter教程之Canvas篇(2)                         tags = 'r1'
Tkinter教程之Canvas篇(2)                         )
Tkinter教程之Canvas篇(2)cv.pack()
Tkinter教程之Canvas篇(2)
Tkinter教程之Canvas篇(2)print cv.gettags(rt)
Tkinter教程之Canvas篇(2)# 使用tags属性指定多个tags,即重新设置tags的属性
Tkinter教程之Canvas篇(2)cv.itemconfig(rt,tags = ('r2','r3','r4'))
Tkinter教程之Canvas篇(2)print cv.gettags(rt)
Tkinter教程之Canvas篇(2)root.mainloop()
Tkinter教程之Canvas篇(2)# 动态修改item的坐标
Tkinter教程之Canvas篇(2)'''10.多个item使用同一个tag'''
Tkinter教程之Canvas篇(2)# -*- coding: cp936 -*-
Tkinter教程之Canvas篇(2)# 多个控件使用同一个tag
Tkinter教程之Canvas篇(2)from Tkinter import *
Tkinter教程之Canvas篇(2)root = Tk()
Tkinter教程之Canvas篇(2)# 创建一个Canvas,设置其背景色为白色
Tkinter教程之Canvas篇(2)cv = Canvas(root,bg = 'white')
Tkinter教程之Canvas篇(2)# 使用tags指定一个tag('r1')
Tkinter教程之Canvas篇(2)rt = cv.create_rectangle(10,10,110,110,
Tkinter教程之Canvas篇(2)                         tags = ('r1','r2','r3')
Tkinter教程之Canvas篇(2)                         )
Tkinter教程之Canvas篇(2)cv.pack()
Tkinter教程之Canvas篇(2)
Tkinter教程之Canvas篇(2)cv.create_rectangle(20,20,80,80,tags = 'r3')
Tkinter教程之Canvas篇(2)print cv.find_withtag('r3')
Tkinter教程之Canvas篇(2)root.mainloop()
Tkinter教程之Canvas篇(2)# 动态修改item的坐标
Tkinter教程之Canvas篇(2)#fid_withtag返回所有与tag绑定的item。
Tkinter教程之Canvas篇(2)'''11.通过tag来访问item'''
Tkinter教程之Canvas篇(2)# -*- coding: cp936 -*-
Tkinter教程之Canvas篇(2)# 得到了tag值也就得到了这个item,可以对这个item进行相关的设置。
Tkinter教程之Canvas篇(2)from Tkinter import *
Tkinter教程之Canvas篇(2)root = Tk()
Tkinter教程之Canvas篇(2)# 创建一个Canvas,设置其背景色为白色
Tkinter教程之Canvas篇(2)cv = Canvas(root,bg = 'white')
Tkinter教程之Canvas篇(2)# 使用tags指定一个tag('r1')
Tkinter教程之Canvas篇(2)rt = cv.create_rectangle(10,10,110,110,
Tkinter教程之Canvas篇(2)                         tags = ('r1','r2','r3')
Tkinter教程之Canvas篇(2)                         )
Tkinter教程之Canvas篇(2)cv.pack()
Tkinter教程之Canvas篇(2)
Tkinter教程之Canvas篇(2)cv.create_rectangle(20,20,80,80,tags = 'r3')
Tkinter教程之Canvas篇(2)# 将所有与tag('r3')绑定的item边框颜色设置为蓝色
Tkinter教程之Canvas篇(2)for item in cv.find_withtag('r3'):
Tkinter教程之Canvas篇(2)    cv.itemconfig(item,outline = 'blue')
Tkinter教程之Canvas篇(2)root.mainloop()
Tkinter教程之Canvas篇(2)# 动态修改与tag('r3')绑定的item边框颜色
Tkinter教程之Canvas篇(2)'''13.向其它item添加tag'''
Tkinter教程之Canvas篇(2)# -*- coding: cp936 -*-
Tkinter教程之Canvas篇(2)# 使用addtag_来向上一个或下一个item添加tag
Tkinter教程之Canvas篇(2)from Tkinter import *
Tkinter教程之Canvas篇(2)root = Tk()
Tkinter教程之Canvas篇(2)# 创建一个Canvas,设置其背景色为白色
Tkinter教程之Canvas篇(2)cv = Canvas(root,bg = 'white')
Tkinter教程之Canvas篇(2)# 创建三个rectangle
Tkinter教程之Canvas篇(2)rt1 = cv.create_rectangle(
Tkinter教程之Canvas篇(2)    10,10,110,110,
Tkinter教程之Canvas篇(2)    tags = ('r1','r2','r3'))
Tkinter教程之Canvas篇(2)rt2 = cv.create_rectangle(
Tkinter教程之Canvas篇(2)    20,20,80,80,
Tkinter教程之Canvas篇(2)    tags = ('s1','s2','s3'))
Tkinter教程之Canvas篇(2)rt3 = cv.create_rectangle(
Tkinter教程之Canvas篇(2)    30,30,70,70,
Tkinter教程之Canvas篇(2)    tags = ('y1','y2','y3'))
Tkinter教程之Canvas篇(2)# 向rt2的上一个item添加r4
Tkinter教程之Canvas篇(2)cv.addtag_above('r4',rt2)
Tkinter教程之Canvas篇(2)# 向rt2的下一个item添加r5
Tkinter教程之Canvas篇(2)cv.addtag_below('r5',rt2)
Tkinter教程之Canvas篇(2)
Tkinter教程之Canvas篇(2)for item in [rt1,rt2,rt3]:
Tkinter教程之Canvas篇(2)    print cv.gettags(item)
Tkinter教程之Canvas篇(2)
Tkinter教程之Canvas篇(2)cv.pack()
Tkinter教程之Canvas篇(2)root.mainloop()
Tkinter教程之Canvas篇(2)#Canvas使用了stack的技术,新创建的item总是位于前一个创建的item之上,故调用above时,它会查找rt2上面的item为rt3,故rt3中添加了tag('r4'),同样add_below会查找下面的item。
Tkinter教程之Canvas篇(2)'''14.返回其它item'''
Tkinter教程之Canvas篇(2)# -*- coding: cp936 -*-
Tkinter教程之Canvas篇(2)# 使用find_xxx查找上一个或下一个item
Tkinter教程之Canvas篇(2)from Tkinter import *
Tkinter教程之Canvas篇(2)root = Tk()
Tkinter教程之Canvas篇(2)# 创建一个Canvas,设置其背景色为白色
Tkinter教程之Canvas篇(2)cv = Canvas(root,bg = 'white')
Tkinter教程之Canvas篇(2)# 创建三个rectangle
Tkinter教程之Canvas篇(2)rt1 = cv.create_rectangle(
Tkinter教程之Canvas篇(2)    10,10,110,110,
Tkinter教程之Canvas篇(2)    tags = ('r1','r2','r3'))
Tkinter教程之Canvas篇(2)rt2 = cv.create_rectangle(
Tkinter教程之Canvas篇(2)    20,20,80,80,
Tkinter教程之Canvas篇(2)    tags = ('s1','s2','s3'))
Tkinter教程之Canvas篇(2)rt3 = cv.create_rectangle(
Tkinter教程之Canvas篇(2)    30,30,70,70,
Tkinter教程之Canvas篇(2)    tags = ('y1','y2','y3'))
Tkinter教程之Canvas篇(2)# 查找rt2的上一个item,并将其边框颜色设置为红色
Tkinter教程之Canvas篇(2)cv.itemconfig(cv.find_above(rt2),outline = 'red')
Tkinter教程之Canvas篇(2)# 查找rt2的下一个item,并将其边框颜色设置为绿色
Tkinter教程之Canvas篇(2)cv.itemconfig(cv.find_below(rt2),outline = 'green')
Tkinter教程之Canvas篇(2)
Tkinter教程之Canvas篇(2)cv.pack()
Tkinter教程之Canvas篇(2)root.mainloop()
Tkinter教程之Canvas篇(2)#Canvas使用了stack的技术,新创建的item总是位于前一个创建的item之上,故调用above时,它会查找rt2上面的item为rt3,故rt3中边框颜色设置为红色,同样add_below会查找下面的item。