Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^2: Entry widget with explicit submit button

by amiksingh (Initiate)
on Feb 15, 2013 at 17:37 UTC ( #1018919=note: print w/ replies, xml ) Need Help??


in reply to Re: Entry widget with explicit submit button
in thread Entry widget with explicit submit button

Yes, I am using TK. I read Validation in Entry, but that gives you option of "focus" on entry box and "key". But what I need is a separate button for a user to validate it.

(For example, a user may play around with the text in Entry box, but he may not choose to conform to changes and might close the window. So, I want a submit button alongwith it. Only when it is pressed, I'll take the input.)


Comment on Re^2: Entry widget with explicit submit button
Re^3: Entry widget with explicit submit button
by choroba (Canon) on Feb 15, 2013 at 17:45 UTC
    Such a functionality does not exist. You have to create a normal Tk::Button and implement the logic yourself in its -command.
    لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
      okay, but I can't think of a logic because -textvariable of entry widget is changed on the go (as and when user types/changes something). So, how do I revert back to original data on a call from -command of button? (I guess that should have been my exact question, Sorry!)
        it simple, you keep track of the changes
        Why are you using a textvariable at all?
        use strict; use warnings; use 5.012; use Tk; my $entry_text; my $mw = MainWindow->new; my $entry = $mw->Entry( -text => 'Enter answer here', )->pack; $entry->focus; $entry->selectionRange(0, 'end'); sub my_validator { my $input = $entry->get(); if ($input eq 'hello') { $entry->delete(0, 'end'); $entry->insert(0, 'Try again!'); $entry->selectionRange(0, 'end'); $entry->icursor(0); } else { say "Thanks for the great input!"; $entry_text = $input; say $entry_text; } } $mw->Button( -text => 'Submit', -command => \&my_validator, )->pack; MainLoop;

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1018919]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (8)
As of 2015-07-04 19:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (60 votes), past polls