码迷,mamicode.com
首页 > 其他好文 > 详细

Tkinter教程之Canvas篇(2)

时间:2014-09-21 13:04:30      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:blog   http   使用   ar   for   art   sp   log   on   

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

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

Tkinter教程之Canvas篇(2)

标签:blog   http   使用   ar   for   art   sp   log   on   

原文地址:http://www.cnblogs.com/LeeZz/p/3984358.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!