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