更多编程教程请到:菜鸟教程 https://www.piaodoo.com/

友情链接:好看站 http://www.nrso.net/

高州阳光论坛https://www.hnthzk.com/

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

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

程序代码

#画图软件的实现
from tkinter.filedialog import *
from tkinter import *
from tkinter.colorchooser import *

win_width=900
win_height=450

class Application(Frame):
def init(self,master=None,bgcolor="#000000"):

super().__init__(master)
self.master=master
self.bgcolor=bgcolor
self.x=0
self.y=0
self.fgcolor="#ff0000"
self.lastDraw=0 #表示最后绘制的图形的id
self.startDrawFlag=False
self.pack()
self.createWidget()

def createWidget(self):

创建画板

self.drawCad=Canvas(self,width=win_width,height=win_height*0.9,bg=self.bgcolor)
self.drawCad.pack()

创建按钮

btn_start = Button(self,text=“开始”,name=“start”)
btn_start.pack(side=“left”,padx=10)
btn_pen = Button(self, text=“画笔”, name=“pen”)
btn_pen.pack(side=“left”, padx=10)
btn_rect = Button(self, text=“矩形”, name=“rect”)
btn_rect.pack(side=“left”, padx=10)
btn_clear = Button(self, text=“清屏”, name=“clear”)
btn_clear.pack(side=“left”, padx=10)
btn_earsor = Button(self, text=“橡皮擦”, name=“earsor”)
btn_earsor.pack(side=“left”, padx=10)
btn_line = Button(self, text=“直线”, name=“line”)
btn_line.pack(side=“left”, padx=10)
btn_lineArrow = Button(self, text=“箭头直线”, name=“lineArrow”)
btn_lineArrow.pack(side=“left”, padx=10)
btn_color = Button(self, text=“颜色”, name=“color”)
btn_color.pack(side=“left”, padx=10)
#为按钮绑定事件
btn_pen.bind_class(“Button”,"<1>",self.eventManger)
self.drawCad.bind("<ButtonRelease-1>",self.stopDraw)
def eventManger(self,event):
name=event.widget.winfo_name()
print(name)
if name==“line” :
self.drawCad.bind("<B1-Motion>",self.myline)
elif name==“lineArrow”:
self.drawCad.bind("<B1-Motion>", self.mylineArrow)
elif name==“rect”:
self.drawCad.bind("<B1-Motion>", self.myRect)
elif name==“pen”:
self.drawCad.bind("<B1-Motion>", self.myPen)
elif name==“earsor”:
self.drawCad.bind("<B1-Motion>", self.myEarsor)
elif name==“clear”:
self.drawCad.delete(“all”)
elif name==“color”:
c= askcolor(color=self.fgcolor,title=“画笔选择颜色”)
self.fgcolor=c[1]

def myline(self,event):
self.startDraw(event)
self.lastDraw=self.drawCad.create_line(self.x,self.y,event.x,event.y,fill=self.fgcolor)

def mylineArrow(self,event):
self.startDraw(event)
self.lastDraw = self.drawCad.create_line(self.x, self.y, event.x, event.y,arrow=LAST , fill=self.fgcolor)

def myRect(self,event):
self.startDraw(event)
self.lastDraw = self.drawCad.create_rectangle(self.x, self.y, event.x, event.y, outline=self.fgcolor)

def myPen(self,event):
self.startDraw(event)
self.drawCad.create_rectangle(self.x, self.y, event.x, event.y, outline=self.fgcolor)
self.x=event.x
self.y=event.y
def myEarsor(self,event):
self.startDraw(event)
self.drawCad.create_rectangle(event.x-4, event.y-4, event.x+4, event.y+4, fill=self.bgcolor)
self.x = event.x
self.y = event.y
def stopDraw(self,event):
self.startDrawFlag=False
self.lastDraw=0

def startDraw(self,event):
self.drawCad.delete(self.lastDraw)
if not self.startDrawFlag:
self.startDrawFlag = True
self.x = event.x
self.y = event.y
root=Tk()
app=Application(root)
root.title(“简易的画图工具”)
root.geometry(str(win_width)+“x”+str(win_height)+"+100+100")
root.mainloop()

结果展示

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持菜鸟教程www.piaodoo.com。

python实现画图工具相关推荐

  1. python画图程序有图-Python海龟画图工具绘制叮当猫程序

    使用海龟画图工具,画一个叮当猫. 先学习几个基本函数: import turtle;#引入海龟工具模块 t=turtle.Pen()#创建海龟画笔 t.fillcolor("blue&quo ...

  2. python+windows画图工具--复现别人论文中的colormap 方法2

    如何复现别人论文中的colormap2 首先,将别人论文中的colormap截图之后,拖到windows自带的画图工具中,选择吸管工具,然后点击其中一个颜色,(这里以图中的蓝色为例),再点击吸管工具, ...

  3. Python+Tkinter画图工具

    在本文中,我们将在 Python Tkinter GUI 中设计和构建一个基本的绘图应用程序,在这里我们可以简单地使用铅笔在画布上绘制一些东西并用橡皮擦擦除它,以及改变铅笔粗细的和橡皮擦.我们还可以修 ...

  4. 用python画猫咪怎么画-Python海龟画图工具绘制叮当猫程序

    t.fillcolor("blue")#填充颜色 t.begin_fill()#开始填充 t.circle(160)#画圆 t.end_fill()#结束填充 t.up() #鼠标 ...

  5. python pylab画图工具

    pylab 是 matplotlib 面向对象绘图库的一个接口,它的语法和 Matlab 十分相近,主要的绘图命令和 Matlab 对应的命令有相似的参数 form pylab import *# 普 ...

  6. Python超简单容易上手的画图工具库

    今天,在网上发现一款很棒的python画图工具库.很简单的api调用就能生成漂亮的图表.并且可以进行一些互动. pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开 ...

  7. python脚本绘图_python实现画图工具

    简易画图工具(Python),供大家参考,具体内容如下 小黑最近在努力的入门python,正好学习到了Python的tkinker模块下的Canvas(画布)和Button(按钮)再加上相应的事务管理 ...

  8. 简易画图工具(Python)

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

  9. matplotlib画图使用python可视化colorbar工具自定义颜色

    python matplotlib画图使用colorbar工具自定义颜色 colorbar(draw colorbar without any mapple/plot) 自定义colorbar可以画出 ...

最新文章

  1. 24 个你应该了解的 PHP 库
  2. 入门Mac快捷键详细分类整理,包括Eclipse和Android Studio中一些常用的快捷键
  3. 如何使用puttygen基于pem文件生成可供登录的ppk文件
  4. 前端学习(219):css伪类选择器
  5. Hadoop分布式集群安装配置
  6. How to shrink disk for KVM
  7. 微信公众号迁移公证办理流程
  8. Exception in thread main java.lang.NoSuchMethodException: xxx.main([Ljava.lang.String;)
  9. TypeScript 安装及基础运行环境搭建 -- 原文来自博客园用户[长岛冰茶。](https://www.cnblogs.com/gaoyd/p/13529026.html)【未修改完成】】...
  10. typescript:类型细化
  11. 扫描普通二维码,进入微信小程序
  12. SEO外推福利:外链高收录平台与外链类型分析
  13. 南通万豪酒店开业;诺瓦瓦克斯任命新任总裁兼CEO | 美通企业日报
  14. 20190904携程机试
  15. 【经验】通过JVM调优,让凯哥个人博客响应速度提升了不少
  16. Qt学习(一)模型与视图
  17. 运营商大数据:未来移动联通电信三大运营商数据会同步共享吗?
  18. 【职场进阶】入职没有几天就离职是什么心态?
  19. 炫酷3D相册❤ 520七夕情人节表白网页制作❤(HTML+CSS+JavaScript)
  20. 电源大师课笔记 1.9

热门文章

  1. 生成器模式 - Unity
  2. Ansys Zemax / SPEOS | 光源文件转换器
  3. 数据库udf提权,WAF绕过
  4. 税控盘签名认证服务器状态,不用插税盘,也可以勾选认证发票、确认签名了 !...
  5. office 2010 安装教程
  6. C++之sync_with_stdio(false)
  7. 莫烦Python代码实践(一)——Q-Learning算法工程化解析
  8. 非最大值抑制(NMS)(一)
  9. 常用JavaScript库
  10. Win10移动热点无法打开,手机无法连接电脑热点