tobbes has asked for the wisdom of the Perl Monks concerning the following question:
I am trying to use Perl's Tk module for guis. From what I understand it should be possible to generate events programatically which will then will trigger any listeners on a widget. So i did the following:
use Tk; my $mw = new MainWindow; my $label = $mw -> Label(-text=>"Hello World") -> pack(); my $button = $mw -> Button(-text => "Quit"); $button->bind('<ButtonPress-1>' => \&myexit); $button->pack; MainLoop; $button->eventGenerate('<ButtonPress-1>'); sub myexit { exit; }
Here I create a window with a label and a button and whenever the button is clicked the program should exit. It works perfectly when actually clicking the button. When trying to generate a click, nothing happens. I have also read about virtual events, are these a special kind of events, so that I can generate only events of that type? What I wonder is whether I am unable to generate builtin events like keypress and such. Any help would be very welcome.
Hmm, I just realized that maybe MainLoop is halting the entire program, thus eventGenerate is never reached. But in that case eventGenerate seems rather pointless.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: how to use eventGenerate in Tk
by choroba (Cardinal) on Oct 31, 2018 at 12:19 UTC | |
by tobbes (Acolyte) on Nov 01, 2018 at 09:02 UTC | |
by choroba (Cardinal) on Nov 01, 2018 at 09:25 UTC | |
|
Re: how to use eventGenerate in Tk
by zentara (Cardinal) on Oct 31, 2018 at 12:29 UTC |