欢迎访问宙启技术站
智能推送

用Python编写的简单画板程序

发布时间:2023-12-04 10:27:44

以下是一个简单的画板程序的示例源代码:

import tkinter as tk

class DrawingApp:
    def __init__(self, root):
        self.root = root
        self.canvas = tk.Canvas(self.root, width=800, height=800)
        self.canvas.pack()

        self.canvas.bind("<Button-1>", self.start_drawing)
        self.canvas.bind("<B1-Motion>", self.draw)
        self.canvas.bind("<ButtonRelease-1>", self.stop_drawing)

        self.drawing = False
        self.last_x = 0
        self.last_y = 0

    def start_drawing(self, event):
        self.drawing = True
        self.last_x = event.x
        self.last_y = event.y

    def draw(self, event):
        if self.drawing:
            self.canvas.create_line(self.last_x, self.last_y, event.x, event.y)
            self.last_x = event.x
            self.last_y = event.y

    def stop_drawing(self, event):
        self.drawing = False

if __name__ == "__main__":
    root = tk.Tk()
    app = DrawingApp(root)
    root.mainloop()

这个程序使用了tkinter库来创建一个窗口和画布。在画布上按下鼠标左键并移动鼠标可以进行绘图。松开鼠标左键停止绘图。

你可以使用这个简单的画板程序来绘制任何你喜欢的图形,比如画一些简单的几何图形、签字、素描等等。

以下是一个使用这个程序的例子:

import tkinter as tk

def draw_smiley_face(canvas):
    canvas.create_oval(100, 100, 400, 400, fill="yellow")
    canvas.create_oval(200, 200, 250, 250, fill="black")
    canvas.create_oval(300, 200, 350, 250, fill="black")
    canvas.create_arc(150, 300, 350, 400, start=180, extent=180, width=4)

if __name__ == "__main__":
    root = tk.Tk()
    canvas = tk.Canvas(root, width=500, height=500)
    canvas.pack()
    
    draw_smiley_face(canvas)

    root.mainloop()

这个例子使用了tkinter库来创建一个窗口和画布,并在画布上绘制了一个笑脸图案。

你可以自由地修改这个例子和画板程序来实现你想要的绘图效果。例如,你可以添加按钮来清空画布、更改绘图工具等等。