好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Tkinter教程之Canvas篇(2)

'''Tkinter教程之Canvas篇(2)'''

'''9.创建item的tags'''

# -*- coding: cp936 -*-

# 使用属性tags设置item的tag

# 使用Canvas的方法gettags获取指定item的tags

from Tkinter import *
root = Tk() 
cv = Canvas(root,bg = 'white') 

# 使用tags指定一个tag('r1')

rt = cv.create_rectangle(10,10,110,110,
tags = 'r1'
)
cv.pack()
print cv.gettags(rt) 
cv.itemconfig(rt,tags = ('r2','r3','r4'))
print cv.gettags(rt)
root.mainloop() 


# 动态修改item的坐标

'''10.多个item使用同一个tag'''

# -*- coding: cp936 -*-

# 多个控件使用同一个tag

from Tkinter import *
root = Tk() 
rt = cv.create_rectangle(10,10,110,110,
tags = ('r1','r2','r3')
)
cv.pack()
cv.create_rectangle(20,20,80,80,tags = 'r3')
print cv.find_withtag('r3')
root.mainloop() 
from Tkinter import *
root = Tk() 
rt = cv.create_rectangle(10,10,110,110,
tags = ('r1','r2','r3')
)
cv.pack()
cv.create_rectangle(20,20,80,80,tags = 'r3') 
for item in cv.find_withtag('r3'):
cv.itemconfig(item,outline = 'blue')
root.mainloop() 
from Tkinter import *
root = Tk() 
cv = Canvas(root,bg = 'white') 

# 创建三个rectangle

rt1 = cv.create_rectangle(
10,10,110,110,
tags = ('r1','r2','r3'))
rt2 = cv.create_rectangle(
20,20,80,80,
tags = ('s1','s2','s3'))
rt3 = cv.create_rectangle(
30,30,70,70,
tags = ('y1','y2','y3')) 
cv.addtag_above('r4',rt2) 

# 向rt2的下一个item添加r5

cv.addtag_below('r5',rt2)
for item in [rt1,rt2,rt3]:
print cv.gettags(item)
cv.pack()
root.mainloop() 


#Canvas使用了stack的技术,新创建的item总是位于前一个创建的item之上,故调用above时,它会查找rt2上面的item为rt3,故rt3中添加了tag('r4'),同样add_below会查找下面的item。

'''14.返回其它item'''

# -*- coding: cp936 -*-

# 使用find_xxx查找上一个或下一个item

from Tkinter import *
root = Tk() 
cv = Canvas(root,bg = 'white') 

# 创建三个rectangle

rt1 = cv.create_rectangle(
10,10,110,110,
tags = ('r1','r2','r3'))
rt2 = cv.create_rectangle(
20,20,80,80,
tags = ('s1','s2','s3'))
rt3 = cv.create_rectangle(
30,30,70,70,
tags = ('y1','y2','y3')) 
cv.itemconfig(cv.find_below(rt2),outline = 'green')
cv.pack()
root.mainloop() 


#Canvas使用了stack的技术,新创建的item总是位于前一个创建的item之上,故调用above时,它会查找rt2上面的item为rt3,故rt3中边框颜色设置为红色,同样add_below会查找下面的item。

以上就是Tkinter教程之Canvas篇(2)的内容,更多相关内容请关注PHP中文网(www.gxlcms.com)!

查看更多关于Tkinter教程之Canvas篇(2)的详细内容...

  阅读:66次