当前位置: 首页 > news >正文

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
  • 在画布上按住鼠标左键并拖动即可开始绘图

  • 使用工具栏进行设置:

    • 拖动滑块调整画笔大小
    • 点击 "选择颜色" 按钮更改画笔颜色
    • 点击 "清除画布" 按钮清空所有内容

扩展建议

如果你想扩展这个画板的功能,可以考虑以下方向:

  • 添加更多绘图工具

    • 矩形、圆形等形状工具
    • 文本输入工具
    • 橡皮擦功能
  • 增强绘图功能

    • 撤销 / 重做操作
    • 保存画布为图片
    • 填充颜色功能
  • 改进用户界面

    • 添加状态栏显示当前工具和设置
    • 支持键盘快捷键
    • 添加菜单系统

相关文章:

  • 建筑资料员考试主要考什么
  • 谷歌2025年I/O开发者大会热点总结
  • 欧拉系统安装,配置静态ip
  • SAP-ABAP:ABAP异常处理与安全工程的融合 —— 构建防注入、防泄漏、合规审计的防御性编程体系
  • SID103S/D/Q-300nA,轨至轨 CMOS 运算放大器,替代SGM8141/2/4,TP2111
  • AI应用电商篇汇总(持续补充)
  • 使用Redis的Bitmap实现了签到功能
  • RT_Thread——快速入门
  • 逆向音乐APP:Python爬虫获取音乐榜单 (1)
  • SQL语句-常用版
  • OpenCV CUDA模块图像过滤------创建一个盒式滤波器(Box Filter)函数createBoxFilter()
  • 从零开始的嵌入式学习day25
  • 时间序列预测的迁移学习
  • 学习黑客了解5分钟了解中间人攻击(MITM)
  • Redis面试题全面解析:从基础到底层实现
  • vLLM v1源码阅读 : 整体流程梳理(详细debug)
  • CAU人工智能class3 优化器
  • java 集合总结
  • 【Vue3】Vue3工程的创建 及 开发者工具的安装
  • 运维Web服务器核心知识与实战指南
  • 如何制作网站和软件/清远今日头条新闻
  • 新疆网站开发价格/合肥seo建站
  • 洪山网站建设公司/广告竞价排名
  • 如何做响应式网站视频教程/外贸谷歌推广
  • 深圳教育科技网站建设/附近的计算机培训班