python实现画图工具

  

简易画图工具(Python),供大家参考,具体内容如下

  

小黑最近在努力的入门python,正好学习到了python的tkinker模块下的帆布画(布)和按钮(按钮)再加上相应的事务管理,实现了一个简单的画图小工具。

  

程序代码

        #画图软件的实现   从tkinter。filedialog进口*   从tkinter进口*   从tkinter。colorchooser进口*      win_width=900   win_height=450         类应用程序(帧):   def __init__(自我,掌握=None,背景=" # 000000 "):      super () . __init__(主)   self.master=主   self.bgcolor=告诉我们   self.x=0   self.y=0   self.fgcolor=" # ff0000 "   自我。lastDraw=0 #表示最后绘制的图形的id   self.startDrawFlag=False   self.pack ()   self.createWidget ()   def createWidget(自我):   #创建画板   self.drawCad=画布(自我,宽度=win_width高度=win_height * 0.9, bg=self.bgcolor)   self.drawCad.pack ()   #创建按钮   btn_start=按钮(自我、文本="开始”,name="开始")   btn_start.pack(=白蟆?padx=10)   btn_pen=按钮(自我、文本="画笔”,name="笔")   btn_pen。包(=白蟆?padx=10)   btn_rect=按钮(自我、文本="矩形”,name=熬匦巍?   btn_rect。包(=白蟆?padx=10)   btn_clear=按钮(自我、文本="清屏”,name=扒逦?   btn_clear。包(=白蟆?padx=10)   btn_earsor=按钮(自我、文本="橡皮擦”,name=" earsor ")   btn_earsor。包(=白蟆?padx=10)   btn_line=按钮(自我、文本="直线”,name="线")   btn_line。包(=白蟆?padx=10)   btn_lineArrow=按钮(自我、文本="箭头直线”,name=" lineArrow ")   btn_lineArrow。包(=白蟆?padx=10)   btn_color=按钮(自我、文本="颜色”,name="颜色")   btn_color。包(=白蟆?padx=10)   #为按钮绑定事件   btn_pen.bind_class(“按钮”,“& lt; 1祝辞self.eventManger)   self.drawCad.bind (“& lt; ButtonRelease-1>”, self.stopDraw)   def eventManger(自我、事件):   name=event.widget.winfo_name ()   打印(名称)   如果name==跋摺?   self.drawCad.bind (“& lt; B1-Motion>”, self.myline)   elif名称==發ineArrow”:   self.drawCad.bind (“& lt; B1-Motion>”,self.mylineArrow)   elif名称==熬匦巍?   self.drawCad.bind (“& lt; B1-Motion>”,self.myRect)   elif名称==氨省?   self.drawCad.bind (“& lt; B1-Motion>”,self.myPen)   elif名称==癳arsor”:   self.drawCad.bind (“& lt; B1-Motion>”,self.myEarsor)   elif名称==懊魅贰?   self.drawCad.delete (“”)   elif名称==把丈?   c=askcolor(颜色=self.fgcolor title=盎恃≡裱丈?   self.fgcolor=c [1]      def myline(自我、事件):   self.startDraw(事件)   self.lastDraw=self.drawCad.create_line (self.x self.y、event.x event.y,填补=self.fgcolor)      def mylineArrow(自我、事件):   self.startDraw(事件)   自我。lastDraw=self.drawCad.create_line(自我。x,自我。y,事件。x,事件。=y,箭头,填补=self.fgcolor)      def myRect(自我、事件):   self.startDraw(事件)   自我。lastDraw=self.drawCad.create_rectangle(自我。x,自我。y,事件。x,事件。y,轮廓=self.fgcolor)      def myPen(自我、事件):   self.startDraw(事件)   self.drawCad.create_rectangle(自我。x,自我。y,事件。x,事件。y,轮廓=self.fgcolor)   self.x=event.x   self.y=event.y   def myEarsor(自我、事件):   self.startDraw(事件)   self.drawCad.create_rectangle(事件。* 4、事件。4、事件。x + 4,事件。y + 4,填补=self.bgcolor)   自我。x=event.x   自我。y=event.y   def stopDraw(自我、事件):   self.startDrawFlag=False   self.lastDraw=0      def startDraw(自我、事件):   self.drawCad.delete (self.lastDraw)   如果不是self.startDrawFlag:   自我。startDrawFlag=True   自我。x=event.x   自我。y=event.y   根=Tk ()   应用=应用程序(根)   root.title(“简易的画图工具”)   root.geometry (str (win_width) + x + str (win_height) + + 100 + 100)   root.mainloop ()      

结果展示

  

 python实现画图工具

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

python实现画图工具