清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
import Tkinter class mybutton: def __init__(self,root,canvas,label,types): self.root=root self.canvas=canvas self.label=label if types==0: button=Tkinter.Button(root,text='Drawline',command=self.Drawline) elif types==1: button=Tkinter.Button(root,text='Drawarc',command=self.Drawarc) else : button=Tkinter.Button(root,text='Drawrect',command=self.Drawrect) button.pack(side='right') def Drawline(self): self.label.text.set('Draw line') self.canvas.setstatus(0) def Drawarc(self): self.label.text.set('Draw arc') self.canvas.setstatus(1) def Drawrect(self): self.label.text.set('Draw rect') self.canvas.setstatus(2) class mycanvas: def __init__(self,root): self.status=0 self.draw=0 self.root=root self.canvas=Tkinter.Canvas(root,bg='white',width=600,height=480) self.canvas.pack() self.canvas.bind('<ButtonRelease-1>',self.Draw) self.canvas.bind('<Button-2>',self.Exit) self.canvas.bind('<Button-3>',self.Del) def Draw(self,event): if self.draw==0: self.x=event.x self.y=event.y self.draw=1 else: if self.status==0: self.canvas.create_line(self.x,self.y,event.x,event.y) self.draw=0 elif self.status==1: self.canvas.create_arc(self.x,self.y,event.x,event.y) self.draw=0 else : self.canvas.create_rectangle(self.x,self.y,event.x,event.y) self.draw=0 def Del(self,event): items=self.canvas.find_all() for item in items: self.canvas.delete(item) def Exit(self): self.root.quit() def setstatus(self,status): self.status=status class mylabel: def __init__(self,root): self.root=root self.canvas=canvas self.text=Tkinter.StringVar() self.text.set('draw line') self.label=Tkinter.Label(root,textvariable=self.text,fg='red',width=50) self.label.pack(side='left') root=Tkinter.Tk() canvas=mycanvas(root) label=mylabel(root) mybutton(root,canvas,label,0) mybutton(root,canvas,label,1) mybutton(root,canvas,label,2) root.mainloop()