Use mouse to draw a shape on canvas,shapecanvas,from Tkinter
文章由Byrx.net分享于2019-03-23 06:03:09
Use mouse to draw a shape on canvas,shapecanvas,from Tkinter
from Tkinter import *trace = 0 class CanvasEventsDemo: def __init__(self, parent=None): canvas = Canvas(width=300, height=300, bg='beige') canvas.pack() canvas.bind('<ButtonPress-1>', self.onStart) canvas.bind('<B1-Motion>', self.onGrow) canvas.bind('<Double-1>', self.onClear) canvas.bind('<ButtonPress-3>', self.onMove) self.canvas = canvas self.drawn = None self.kinds = [canvas.create_oval, canvas.create_rectangle] def onStart(self, event): self.shape = self.kinds[0] self.kinds = self.kinds[1:] + self.kinds[:1] self.start = event self.drawn = None def onGrow(self, event): canvas = event.widget if self.drawn: canvas.delete(self.drawn) objectId = self.shape(self.start.x, self.start.y, event.x, event.y) if trace: print objectId self.drawn = objectId def onClear(self, event): event.widget.delete('all') def onMove(self, event): if self.drawn: if trace: print self.drawn canvas = event.widget diffX, diffY = (event.x - self.start.x), (event.y - self.start.y) canvas.move(self.drawn, diffX, diffY) self.start = eventif __name__ == '__main__': CanvasEventsDemo() mainloop()
相关内容
- Content tests: isalpha, isdigit, etc,isalphaisdigit,S = 'spam' S
- Use raw input to read int value,rawinput,import sys,
- Line color,linecolor,from Tkinter
- A calculator,calculator,from Tkinter
- Draw Rectangle,drawrectangle,from Tkinter
- Writing to a Database,writingtodatabase,import MySQL
- Searching Lists,searchinglists,li = ['a', '
- tell(): Returns the current file position,returnsposition,f = open(
- Tools for Working with Lists,workinglists,# The array
- Garbage collector is enabled,garbagecollector,import gcgc_
评论关闭