Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: Entry widget with explicit submit button

by 7stud (Deacon)
on Feb 16, 2013 at 18:17 UTC ( #1019053=note: print w/replies, xml ) Need Help??

in reply to Entry widget with explicit submit button

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.

You can also intercept the 'window close' event and change a textvariable to anything you want:

use strict; use warnings; use 5.012; use Tk; my $entry_text = 'Enter answer here'; #textvariable #======Main window========== my $mw = MainWindow->new; $mw->protocol("WM_DELETE_WINDOW", \&my_quit); sub my_quit { say "Window closing...$entry_text"; $entry_text = ''; say "-->$entry_text<---"; exit; } #======Entry================ my $entry = $mw->Entry( -textvariable => \$entry_text, )->pack; $entry->focus; $entry->selectionRange(0, 'end'); sub my_validator { if ($entry_text eq 'hello') { $entry_text = 'Try again!'; $entry->selectionRange(0, 'end'); $entry->icursor(0); } else { say "Thanks for the great input!"; say $entry_text; } } #========Button================= $mw->Button( -text => 'Submit', -command => \&my_validator, )->pack; MainLoop;

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1019053]
[choroba]: how many event types are there?
[Corion]: Also I found that I can't conveniently weaken an array slot, which also is inconvenient, as I want my one-shots to disappear if the caller discards them
[Corion]: choroba: Currently two or three that my program handles (WWW::Mechanize:: Chrome), but there might be more that become interesting
[Corion]: But I don't expect more than 100 to be active at the same time, so I'm not really sure if there is a not-too-fancy data structure that is maintained with few lines of code where the performance is better than the linear scan ;)
[Corion]: But I should do a mock-up program so that others can see what I'm talking about ;)
[robby_dobby]: Corion: I hope you know all too well that passing around "fancy" datastructures is a recipe for disaster :-)
[robby_dobby]: As in, it's-too-fancy- that-it-will-be- messy-to-handle
[choroba]: bit vectors as keys?
[robby_dobby]: Hmm, I keep falling asleep at my desk, while maintaining an active appearance. Am I getting old?
[robby_dobby]: Every time I fall asleep, there's a small guy in the dreams, shouting "Whoo!" and it jolts me awake. :/

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (10)
As of 2017-05-29 08:01 GMT
Find Nodes?
    Voting Booth?