I regularly use a global hash to store the hash variable for widgets where I need a global type of access. But there is another trick. Generally speaking the place where you want to use a widget is in the subroutines you call from that notebook page - in your example case. Create the widget without setting the -command values, then use the configure method to create commands which have the widget hashref in them, this passes the widget reference to the sub andyou can manipulate it there.

If you want to have access to all of the widgets on a page - create a hash of references and pass that to the subs. But be careful, wait until you have created all the widgets BEFORE you start building the callbacks using the configure method.

jdtoronto


In reply to Re: Tk::Notebook and scope by jdtoronto
in thread Tk::Notebook and scope by Soko

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.