You're on the right track here. The
-textvariable is getting assigned by Tk any time the user interacts with your Entry widget, but you just need to decide how and when you want to access that variable. If I understand correctly, you'd like to get at it when the user leaves the field rather than having the user click a button. In this case, you should use the
-validatecommand option, which can essentially act as the
-command option you were using on the button. This is similar to the binding approach that
graff mentions, but it will trigger any time the Entry widget loses focus, not just when the user hits enter. Give this a whirl:
#!c:/perl/bin/perl -w
use strict;
use Tk;
my $regex = '';
my $foo = '';
my $main=MainWindow->new();
$main->Entry(
-width => 20,
-textvariable => \$regex,
-validate => 'focusout',
-validatecommand => sub{ print "Regex: $regex\n" },
)->pack();
$main->Entry(
-width => 20,
-textvariable => \$foo,
-validate => 'focusout',
-validatecommand => sub{ print "Foo: $foo\n" },
)->pack();
MainLoop;
-- grummerX
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.