Staging
v0.5.1
v0.5.1
https://github.com/python/cpython
Revision 76002c8f1d9e367788fc55a4aa7685189416ebc6 authored by Ronald Oussoren on 27 June 2010, 12:43:47 UTC, committed by Ronald Oussoren on 27 June 2010, 12:43:47 UTC
on OSX 10.6, therefore don't use it there either. This fixes issue8621.
1 parent cd17213
Tip revision: 76002c8f1d9e367788fc55a4aa7685189416ebc6 authored by Ronald Oussoren on 27 June 2010, 12:43:47 UTC
The uuid library on OSX 10.5 seems to contain the same bug as the one
The uuid library on OSX 10.5 seems to contain the same bug as the one
Tip revision: 76002c8
rubber-band-box-demo-1.py
from Tkinter import *
class Test(Frame):
def printit(self):
print "hi"
def createWidgets(self):
self.QUIT = Button(self, text='QUIT',
background='red',
foreground='white',
height=3,
command=self.quit)
self.QUIT.pack(side=BOTTOM, fill=BOTH)
self.canvasObject = Canvas(self, width="5i", height="5i")
self.canvasObject.pack(side=LEFT)
def mouseDown(self, event):
# canvas x and y take the screen coords from the event and translate
# them into the coordinate system of the canvas object
self.startx = self.canvasObject.canvasx(event.x)
self.starty = self.canvasObject.canvasy(event.y)
def mouseMotion(self, event):
# canvas x and y take the screen coords from the event and translate
# them into the coordinate system of the canvas object
x = self.canvasObject.canvasx(event.x)
y = self.canvasObject.canvasy(event.y)
if (self.startx != event.x) and (self.starty != event.y) :
self.canvasObject.delete(self.rubberbandBox)
self.rubberbandBox = self.canvasObject.create_rectangle(
self.startx, self.starty, x, y)
# this flushes the output, making sure that
# the rectangle makes it to the screen
# before the next event is handled
self.update_idletasks()
def mouseUp(self, event):
self.canvasObject.delete(self.rubberbandBox)
def __init__(self, master=None):
Frame.__init__(self, master)
Pack.config(self)
self.createWidgets()
# this is a "tagOrId" for the rectangle we draw on the canvas
self.rubberbandBox = None
# and the bindings that make it work..
Widget.bind(self.canvasObject, "<Button-1>", self.mouseDown)
Widget.bind(self.canvasObject, "<Button1-Motion>", self.mouseMotion)
Widget.bind(self.canvasObject, "<Button1-ButtonRelease>", self.mouseUp)
test = Test()
test.mainloop()
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...