'''Tkinter 教程之 Canvas 篇(3)''' '''16.移动 item''' # -*- coding: cp936 -*# move 指定 x,y 在偏移量 from Tkinter import * root = Tk() # 创建一个 Canvas,设置其背景色为
白色 cv = Canvas(root,bg = 'white') # 创建两个同样的 rectangle,比较移动前后的不同 rt1 = cv.create_rectangle( 10,10,110,110, tags = ('r1','r2','r3')) cv.create_rectangle( 10,10,110,110, tags = ('r1','r2','r3')) # 移动 rt1 cv.move(rt1,20,-10) cv.pack() root.mainloop() # move 可以指定 x,y 在相对偏移量,可以为负值 '''17.删除 item''' # -*- coding: cp936 -*# delete 删除给定的 item from Tkinter import * root = Tk() cv = Canvas(root,bg = 'white') # 创建两个 rectangle rt1 = cv.create_rectangle( 10,10,110,110,
tags = ('r1','r2','r3')) r2 = cv.create_rectangle( 20,20,110,110, tags = ('s1','s2','s3')) # 使用 id 删除 rt1 cv.delete(rt1) # 使用 tag 删除 r2 cv.delete('s1')
cv.pack() root.mainloop() # 两种方法删除 item(id/tag) '''18.缩放 item''' # -*- coding: cp936 -*# scale 缩放 item,计算公式:(coords - offset)*scale + offset from Tkinter import * root = Tk() cv = Canvas(root,bg = 'white') # 创建两个 rectangle rt1 = cv.create_rectangle( 10,10,110,110, tags = ('r1','r2','r3')) # 将 y 坐标放大为原来的 2 位,x 坐标值不变 cv.scale(rt1,0,0,1,2) cv.pack() root.mainloop() # scale 的参数为(self,xoffset,yoffset,xscale,yscale) '''19.绑定 item 与 event''' # -*- coding: cp936 -*-
# 使用 tag_bind 来绑定 item 与事件 from Tkinter import * root = Tk() # 创建一个 Canvas,设置其背景色为白色 cv = Canvas(root,bg = 'white') # 创建三个 rectangle rt1 = cv.create_rectangle( 10,10,110,110, width = 8, tags = ('r1','r2','r3')) def printRect(event): print 'rectangle' # 绑定 item 与事件 cv.tag_bind('r1','<Button-1>',printRect) cv.pack() root.mainloop() # 只有点击到矩形的边框时才会触发事件 '''20.添加绑定事件''' # -*- coding: cp936 -*# 使用 tag_bind 来绑定 item 与事件,与参考上测试结果不一致。 from Tkinter import * root = Tk() # 创建一个 Canvas,设置其背景色为白色 cv = Canvas(root,bg = 'white') # 创建三个 rectangle rt1 = cv.create_rectangle( 10,10,110,110, width = 8, tags = ('r1','r2','r3'))
def printRect(event): print 'rectangle' def printLine(event): print 'line' # 绑定 item 与左键事件 cv.tag_bind('r1','<Button-1>',printRect) # 绑定 item 与右键事件 cv.tag_bind('r1','<Button-3>',printLine) cv.pack() root.mainloop() # 只有点击到矩形的边框时才会触发事件,不使用 add 参数,默认就是向这个 item 添加一个处理函数,它不会替换原来的事件函数,例子结果:既响应左键 又响应右键 '''21.绑定新的 item 与现有的 tags''' # -*- coding: cp936 -*# 使用 tag_bind 来绑定 item 与事件,测试结果与参考上的说法不一致 from Tkinter import * root = Tk() # 创建一个 Canvas,设置其背景色为白色 cv = Canvas(root,bg = 'white') # 创建三个 rectangle rt1 = cv.create_rectangle( 10,10,110,110, width = 8, tags = ('r1','r2','r3')) def printRect(event): print 'rectangle' def printLine(event): print 'line'
# 绑定 item 与左键事件 cv.tag_bind('r1','<Button-1>',printRect) # 绑定 item 与右键事件 cv.tag_bind('r1','<Button-3>',printLine) # 创建一个 line,并将其 tags 设置为'r1' cv.create_line(10,200,100,200,width = 5,tags = 'r1') cv.pack() root.mainloop() # 将事件与 tag('r1')绑定后,创建新的 item 并指定已绑定事件的 tag,新创 建的 item 同样也与事件绑定,这个与参考上的说法也不一致
更多相关文档:
Tkinter教程之Canvas篇(3)
Tkinter教程之Canvas篇(3)_IT/计算机_专业资料。Python图形界面'''Tkinter 教程之 Canvas 篇(3)''' '''16.移动 item''' # -*- coding: cp936 -*# move...
Tkinter教程之Canvas篇(2)
'''Tkinter 教程之 Canvas 篇(2)''' '''9.创建 item 的 tags''' # -...设置其背景色为白色 cv = Canvas(root,bg = 'white') # 创建三个 ...
Tkinter教程之Text篇(3)
Tkinter教程之Event篇(1) Tkinter教程之Text篇(1) Tkinter教程之Canvas篇(2) Tkinter教程之Event篇(2) Tkinter教程之Text篇(2) Tkinter教程之Canvas篇(3) Tkinter...
Tkinter教程之Canvas篇(4)
from Tkinter import * root = Tk() # 创建一个 Canvas,设置其背景色为白色 cv = Canvas(root,bg = 'white') d = {1:PIESLICE,2:CHORD,3:ARC} for ...
Tkinter教程之Canvas篇(1)
'''Tkinter 教程之 Canvas 篇(1)''' # 提供可以用来进行绘图的 Container,...() # 为明显起见,将背景色设置为白色,用以区别 root '''3.指定 item 的...
Tkinter教程之PanedWindow
Tkinter教程之Entry篇 3页 1下载券 Tkinter教程之Pack篇 4页 1下载券 Tkinter教程之Grid篇 4页 1下载券 Tkinter教程之Canvas篇(... 4页 1下载券 Tkinter教程...
Tkinter教程之Scrollbar篇
Tkinter教程之Canvas篇(... Tkinter教程之Event篇(1... Tkinter教程之Text篇(...() '''3.使用回调函数(不建议这样使用)''' # -*- coding: cp936 -*...
Tkinter教程之Event篇(3)
'''Tkinter 教程之 Event 篇(3)''' '''11.两个事件同时绑定到一个控件'...Tkinter教程之Canvas篇(... Tkinter教程之Event篇(1... Tkinter教程之Text篇(...
Tkinter经典教程
indicatoron=0) 三、方法 Button 窗口部件支持标准的 Tkinter 窗口部件接口,加上...Tkinter教程之Canvas篇(... 4页 1下载券 Tkinter教程之Spinbox篇 6页 1下载券...
tkinter学习教程
tkinter学习教程_计算机软件及应用_IT/计算机_专业资料。这是Python基于tkinter库的...Tkinter教程之Grid篇 4页 1下载券 Tkinter教程之Canvas篇(... 4页 1下载券 ...
更多相关标签:
tkinter canvas | tkinter canvas 清空 | tkinter canvas 动画 | tkinter canvas 大小 | tkinter canvas image | tkinter canvas 鼠标 | tkinter label canvas | python3 tkinter 教程 |