Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Tk_mouse_draw_rectangles.py
- import Tkinter as tk
- from PIL import Image, ImageTk
- colorList = ["blue", "red", "green", "black", "yellow", "magenta", "orange"]
- def rnd_color():
- colorList.append(colorList[0])
- return colorList.pop(0)
- class ExampleApp(tk.Tk):
- def __init__(self):
- tk.Tk.__init__(self)
- self.x = self.y = 0
- self.canvas = tk.Canvas(self, width=512, height=512, cursor="cross")
- self.canvas.pack(side="top", fill="both", expand=True)
- self.canvas.bind("<ButtonPress-1>", self.on_button_press)
- self.canvas.bind("<B1-Motion>", self.on_move_press)
- self.canvas.bind("<ButtonRelease-1>", self.on_button_release)
- self.rect = None
- self.start_x = None
- self.start_y = None
- def on_button_press(self, event):
- # save mouse drag start position
- self.start_x = event.x
- self.start_y = event.y
- # create rectangle if not yet exist
- #if not self.rect:
- self.rect = self.canvas.create_rectangle(self.x, self.y, 1, 1, fill=rnd_color())
- def on_move_press(self, event):
- curX, curY = (event.x, event.y)
- # expand rectangle as you drag the mouse
- self.canvas.coords(self.rect, self.start_x, self.start_y, curX, curY)
- def on_button_release(self, event):
- pass
- if __name__ == "__main__":
- app = ExampleApp()
- app.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement