http://qs321.pair.com?node_id=152932


in reply to Refresh text widget

Hi!

First I would like to advice you to use
#!/usr/local/bin/perl -w use strict;
Then we`ll talk further.. the first thing you`ll probably
see is that your program won`t run because Line is not
declared, and when you declare it, please do not do it
within the else statement, because that will make it too
local to insert in your widget.

But, like I said, use strict, and -w, fix the errors, and
see if that helps, we`ll take it from there, okay ?

GreetZ!,

print "profeth still\n" if /bird|devil/;

Replies are listed 'Best First'.
Re: Re: Refresh text widget
by Anonymous Monk on Mar 20, 2002 at 09:27 UTC
    OKAY ... thank you for the advice to use strict (which is in the original code for this extracted example). I have modified this example code with the appropriate lines. It still works in the same undesired manner. Any hints towards what the real issue is?
    #!/usr/local/bin/perl -w use strict; use Tk; my $line = ""; my $submain = MainWindow->new(); my $status = $submain->Button(-text => 'Click to Clear', -command => sub {$submain->destroy;} ); $status->pack; my $text1 = $submain->Text ('-width'=>100, 'height'=>20); $text1->pack(-side => 'left', -fill => 'y'); $text1->insert('end', "start\n"); $text1->pack; for(my $loop=0; $loop <= 3; $loop++ ) { sleep 1; print "$loop\n"; if ( $loop == 1 ) { $line = "$loop case 1\n"; } elsif ( $loop == 2 ) { $line = "$loop case 2\n"; } else { $line = "$loop something else\n"; } $text1->insert('end', "$line"); $text1->pack; } MainLoop();