from tkinter import * class GUI : def __init__(self) : window = Tk() self.canvas = Canvas(window, height=300, width=400, bg="white") self.canvas.bind("", self.do_mousepress) self.canvas.bind("", self.do_mouserelease) self.canvas.pack() button1 = Button(window, text="Action 1", command=self.do_action1) button1.pack() name_label = Label(window, text="Enter name").pack() self.name_field = Entry(window) self.name_field.pack() self.slider1 = Scale(window, from_=1, to=100, orient=HORIZONTAL, command=self.do_slider1) self.slider1.pack() window.mainloop() def do_mousepress(self,event) : # respond to mouse press event (position at event.x, event.y) self.canvas.create_oval(event.x, event.y, event.x+20, event.y+20, fill="green") self.canvas.update() def do_mouserelease(self,event) : # respond to mouse press event (position at event.x, event.y) self.canvas.create_rectangle(event.x, event.y, event.x+10, event.y+10, fill="red") self.canvas.update() def do_action1(self) : # respond to button 1 # possibly accessing the text entry using: name_field.get() self.canvas.create_text(30, 200, text=self.name_field.get()) self.canvas.update() def do_slider1(self,event) : # respond to slider being changed, using new value: slider1.get() self.canvas.delete(ALL) size = self.slider1.get() self.canvas.create_rectangle(10, 10, 10+size, 10+size, fill="blue") self.canvas.update() GUI()