-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathEX9.24.py
41 lines (29 loc) · 1.3 KB
/
EX9.24.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 9.24 (Display circles) Write a program that displays a new larger circle with a left
# mouse click and removes the largest circle with a right mouse click, as shown in
# Figure 9.35.
from tkinter import * # Import tkinter
width = 200
height = 200
class MainGUI:
def __init__(self):
window = Tk() # Create a window
window.title("Dynamic Circles") # Set title
self.radius = 20
self.tagNumber = 0
self.canvas = Canvas(window, bg="white", width=width, height=height)
self.canvas.create_oval(width / 2 - self.radius, height / 2 - self.radius,
width / 2 + self.radius, height / 2 + self.radius, tags=str(self.tagNumber))
self.canvas.pack()
self.canvas.bind("<Button-1>", self.addACircle)
self.canvas.bind("<Button-3>", self.removeACircle)
window.mainloop() # Create an event loop
def addACircle(self, event):
self.tagNumber += 1
self.radius += 5
self.canvas.create_oval(width / 2 - self.radius, height / 2 - self.radius,
width / 2 + self.radius, height / 2 + self.radius, tags=str(self.tagNumber))
def removeACircle(self, event):
self.canvas.delete(str(self.tagNumber))
self.radius -= 5
self.tagNumber -= 1
MainGUI()