Python实例题:Python实现简单画板
目录
Python实例题
题目
代码实现
功能说明
基本绘图:
画笔设置:
画布操作:
使用方法
扩展建议
添加更多绘图工具:
增强绘图功能:
改进用户界面:
Python实例题
题目
Python实现简单画板
代码实现
import tkinter as tk
from tkinter import colorchooser, Scale, Frame, Button, Labelclass SimplePaintApp:def __init__(self, root):self.root = rootself.root.title("简单画板")self.root.geometry("800x600")# 设置默认值self.brush_size = 2self.brush_color = "#000000"self.last_x = Noneself.last_y = None# 创建画布self.canvas = tk.Canvas(self.root, bg="white", cursor="cross")self.canvas.pack(fill=tk.BOTH, expand=True)# 绑定鼠标事件self.canvas.bind("<B1-Motion>", self.paint)self.canvas.bind("<ButtonRelease-1>", self.reset)# 创建工具栏self.create_toolbar()def create_toolbar(self):"""创建工具栏"""toolbar = Frame(self.root)toolbar.pack(side=tk.TOP, fill=tk.X)# 画笔大小选择size_label = Label(toolbar, text="画笔大小:")size_label.pack(side=tk.LEFT, padx=5, pady=5)size_scale = Scale(toolbar, from_=1, to=20, orient=tk.HORIZONTAL, length=100, command=self.set_brush_size)size_scale.set(self.brush_size)size_scale.pack(side=tk.LEFT, padx=5, pady=5)# 颜色选择按钮color_btn = Button(toolbar, text="选择颜色", command=self.choose_color)color_btn.pack(side=tk.LEFT, padx=5, pady=5)# 清除按钮clear_btn = Button(toolbar, text="清除画布", command=self.clear_canvas)clear_btn.pack(side=tk.LEFT, padx=5, pady=5)def paint(self, event):"""绘制线条"""if self.last_x and self.last_y:self.canvas.create_line((self.last_x, self.last_y, event.x, event.y),width=self.brush_size,fill=self.brush_color,capstyle=tk.ROUND,smooth=True)self.last_x = event.xself.last_y = event.ydef reset(self, event):"""重置坐标"""self.last_x = Noneself.last_y = Nonedef set_brush_size(self, size):"""设置画笔大小"""self.brush_size = int(size)def choose_color(self):"""选择画笔颜色"""color = colorchooser.askcolor()[1]if color:self.brush_color = colordef clear_canvas(self):"""清除画布"""self.canvas.delete("all")if __name__ == "__main__":root = tk.Tk()app = SimplePaintApp(root)root.mainloop()
功能说明
这个简单画板包含以下功能:
-
基本绘图:
- 使用鼠标左键拖动绘制线条
- 支持连续绘制
-
画笔设置:
- 可调整画笔大小(1-20 像素)
- 可选择任意颜色
-
画布操作:
- 一键清除所有绘制内容
使用方法
- 运行程序:
python simple_paint.py
-
在画布上按住鼠标左键并拖动即可开始绘图
-
使用工具栏进行设置:
- 拖动滑块调整画笔大小
- 点击 "选择颜色" 按钮更改画笔颜色
- 点击 "清除画布" 按钮清空所有内容
扩展建议
如果你想扩展这个画板的功能,可以考虑以下方向:
-
添加更多绘图工具:
- 矩形、圆形等形状工具
- 文本输入工具
- 橡皮擦功能
-
增强绘图功能:
- 撤销 / 重做操作
- 保存画布为图片
- 填充颜色功能
-
改进用户界面:
- 添加状态栏显示当前工具和设置
- 支持键盘快捷键
- 添加菜单系统