Thanks you very much. I found something interesting though, the canvas's 
width and height properties are not updated when it is resized by its 
packing. Looks like an oversight to me, but I've just demonstrated that 
I don't have a complete grasp of Tk, so... I can use a Configure 
callback to keep track of the values, however.


from Tkinter import *

class testApp3:
     def __init__( self, master ):
         self.ma = master
         self.f = Frame( self.ma )
         self.f.pack(fill=BOTH, expand=YES)
         self.cv = Canvas(self.f, width=125, height=125, bg='red')
         self.cv.pack(fill=BOTH, expand=YES)
         self.b1 = Button( self.f, text='Hello', height=1, width=10, 
padx=0, pady=1, \
                           command = self.howbig )
         self.b1.pack(side=BOTTOM, anchor=S, padx=4, pady=4)
         self.cv.bind('<Configure>', self.resize )

     def howbig( self ):
         print self.cv['width'], self.cv['height']
         print self.cvw, self.cvh

     def resize( self, event ):
         print '(%d, %d)' % (event.width, event.height)
         self.cvw, self.cvh = event.width-4, event.height-4

root = Tk()
app = testApp3(root)
root.mainloop()
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to