Steven D'Aprano wrote:


Case in point is this code snippet from a chapter on Tkinter.

def viewer(imgdir, kind=Toplevel, cols=None):
      """
      make thumb links window for an image directory:
      one thumb button per image; use kind=Tk to show
      in main  app window, or Frame container (pack);
      imgfile differs per loop: must save with a default;
      photoimage objs must be saved: erased if reclaimed;
      """
      win = kind()
      win.title('Viewer: ' + imgdir)
      thumbs = makeThumbs(imgdir)
<snip>



In the example you give, you have an argument named "kind". It is
expected to be some sort of function or class, and gets the default
value of TopLevel if not supplied. In the body of the function, this
function or class is called, to produce a value which is then
named "win". Judging by the default value and the name of the inner
variable, I would say it is expected to produce a window object, so any
function or class that returns a window object will be suitable.


I completely overlooked this expectation, which led to my confusion. Thanks for the explanation.

Regards,  Jim


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to