from tkinter import Tk, Canvas, Button, Frame, colorchooser
class DrawingApp:
def __init__(self, root):
self.root = root
self.root.title("Drawing Tool")
self.canvas = Canvas(self.root, bg="white", width=600, height=400)
self.canvas.pack(expand=True, fill="both")
self.frame = Frame(self.root)
self.frame.pack()
self.color_button = Button(self.frame, text="Choose Color", command=self.choose_color)
self.color_button.pack(side="left")
self.clear_button = Button(self.frame, text="Clear", command=self.clear_canvas)
self.clear_button.pack(side="left")
self.canvas.bind("<B1-Motion>", self.paint)
self.canvas.bind("<ButtonRelease-1>", self.reset)
self.pen_color = "black"
self.last_x, self.last_y = None, None
def choose_color(self):
self.pen_color = colorchooser.askcolor(color=self.pen_color)[1]
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, fill=self.pen_color, width=2)
self.last_x, self.last_y = event.x, event.y
def reset(self, event):
self.last_x, self.last_y = None, None
def clear_canvas(self):
self.canvas.delete("all")
if __name__ == "__main__":
root = Tk()
app = DrawingApp(root)
root.mainloop()
Comments
Post a Comment