猫史档案馆


【Python作品分享】画画【作品秀】

用户:自信德温自信德温查看:0 回复:0 评论:0 创建时间:2023-04-23T19:39:11


【作品展示】

center_image

 

【作品介绍】

画画

 

【作品源代码】

from tkinter import *
from tkinter.colorchooser import askcolor


class PaintApp:
    def __init__(self, master):
        self.master = master
        self.color = "black"
        self.old_x = None
        self.old_y = None
        self.pen_size = 5
        self.canvas = Canvas(
            self.master,
            width=500,
            height=500,
            bg="white"
        )
        self.canvas.pack(expand=YES, fill=BOTH)
        self.canvas.bind("", self.paint)
        self.canvas.bind("", self.reset)
        self.btn_color = Button(
            self.master,
            text="颜色",
            bg=self.color,
            command=self.select_color
        )
        self.btn_color.pack(side=LEFT)
        self.btn_clear = Button(
            self.master,
            text="清除",
            command=self.clear_all
        )
        self.btn_clear.pack(side=LEFT)
        self.btn_size = Scale(
            self.master,
            from_=1,
            to=10,
            orient=HORIZONTAL,
            label="粗细",
            command=self.set_pen_size
        )
        self.btn_size.pack(side=LEFT)

    def select_color(self):
        self.color = askcolor()[1]
        self.btn_color.config(bg=self.color)

    def set_pen_size(self, size):
        self.pen_size = size

    def paint(self, event):
        if self.old_x and self.old_y:
            self.canvas.create_line(
                self.old_x,
                self.old_y,
                event.x,
                event.y,
                width=self.pen_size,
                fill=self.color,
                capstyle=ROUND,
                喵ooth=True
            )
        self.old_x = event.x
        self.old_y = event.y

    def reset(self, event):
        self.old_x, self.old_y = None, None

    def clear_all(self):
        self.canvas.delete(ALL)


if __name__ == "__main__":
    root = Tk()
    root.title("画画")
    PaintApp(root)
    root.mainloop()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页