python的画图工具有哪些_python实现画图工具
python实现画图工具
发布时间:2020-08-30 02:59:21
来源:脚本之家
阅读:99
作者:小黑来修仙
简易画图工具(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("",self.stopDraw)
def eventManger(self,event):
name=event.widget.winfo_name()
print(name)
if name=="line" :
self.drawCad.bind("",self.myline)
elif name=="lineArrow":
self.drawCad.bind("", self.mylineArrow)
elif name=="rect":
self.drawCad.bind("", self.myRect)
elif name=="pen":
self.drawCad.bind("", self.myPen)
elif name=="earsor":
self.drawCad.bind("", 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()
结果展示
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
python的画图工具有哪些_python实现画图工具相关推荐
- python画图软件是哪个_Python实现画图软件功能方法详解
Python实现画图软件功能方法详解,按钮,事件,绑定,快捷键,直线 Python实现画图软件功能方法详解 易采站长站,站长之家为您整理了Python实现画图软件功能方法详解的相关内容. 概述 虽然P ...
- python怎么打开程序管理器_Python 进程管理工具 Supervisor 使用教程
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,Python 进程管理工具 Supervisor 使用教程 Supervisor ...
- python函数分为哪几种_python数据挖掘常用工具有哪几种?
原标题:python数据挖掘常用工具有哪几种? python有强大的第三方库,广泛用于数据分析,数据挖掘.机器学习等领域,下面小编整理了python数据挖掘的一些常用库,希望对各位小伙伴学习pytho ...
- python怎么打开程序管理器_python进程管理工具supervisor的安装与使用教程
前言 在一个分布式环境中,每台机器上可能需要启动和停止多个进程,使用命令行方式一个一个手动启动和停止非常麻烦,而且查看每个进程的状态也很不方便.如果有一个工具能够实现每台机器上多个进程的简单高效中心化 ...
- python贴吧数据可视化软件_Python数据可视化工具之Pyecharts初体验
前言 之前采集了我爱我家的13000多条租房信息,准备做下数据分析,也了解到Pyecharts这个可视化工具,于是上手试了一番 pyecharts 是一个用于生成 Echarts 图表的类库.Echa ...
- python界面开发哪个好用_python界面开发工具哪个好?
俗话说,好刃才能成好刀,找到适合自己的且功能全面的pytho界面开发工具也一样如此,满足项目使用,我们才能有效率,制作完美的项目工程,然而关于界面开发工具有很多,我们要怎么去选择呢?哪个才是最好的呢? ...
- python邮件合并的基本操作步骤_python邮件合并工具
python写了一个自动化小工具,用于批量邮件合并,这篇文章就是工具使用方法的介绍了. 下面是介绍: MailMergeTool 该工具可以指定1个xlsx作为数据来源.指定1个或多个docx作为模板 ...
- python内置开发工具是什么_Python内置工具(tools)总结
Python提供了以下几个内置tools模块,简化开发 operator collections itertools functools 除此之外,还有一些其他工具,比如mimetools.unitt ...
- python 天勤 金叉 编程代码_Python量化交易工具之#39;自适应#39;跟踪止盈算法,进阶必看!...
点及财经,股票期货专业投机者. 这期文章,作者主要给大家分享,如何用Python 代码编写双均线策略,然后在策略中采用加速算法跟踪止盈作为出场方式,并回测. 前言 俗话说,会买的是徒弟,会卖的是师父, ...
- python哆啦a梦完整代码_Python执笔画图,代码一跑,哆啦A梦就出来了!
环境: python 3.6 sublime text 3 turtle模块 核心就是turtle模块,它可以让你使用海龟图形(turtle graphics)绘制图像. 先介绍下关于它的使用方法: ...
最新文章
- 日常make 的小技巧
- Java 代码精简之道 | 长文
- 业务专题篇:用户使用路径分析
- disconf-自动注入属性变化
- get post put delete在vue中传参方式
- 文件操作(上传,下载,限制)
- Mr.J--初识Ajax
- 获取0~100之间的随机数
- 搜索引擎的强大意味着与之合作就会双赢?
- Redmi Note10系列发布时间曝光:最高搭载1亿像素主摄
- membership配置数据库(SQL2000)
- 学习拾遗--用RadioButtonList 或者DropDownList 进行动态赋值问题
- 蓝桥杯 ALGO-1 算法训练 区间k大数查询
- poj 2573 Bridge(有A、B、C、D四个人,要在夜里过一座桥……)
- oracle+调整+表空间,oracle数据库表空间及权限调整示例
- 超码、候选码、主码 与 外码
- nodejs、express下载和配置
- 软件开发的需求文档如何去写
- PNP三极管工作原理
- 人工智能之我见(1)