加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

闲来无事,,,,一个“画图"

发布时间:2020-12-17 17:30:20 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import Tkinterclass mybutton: def __init__(self,root,canvas,label,types): self.root=root self.canvas=canvas self.label=label if types==0: bu

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

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,event.y)
                self.draw=0
            else :
                self.canvas.create_rectangle(self.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,0)
mybutton(root,1)
mybutton(root,2)
root.mainloop()

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读