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

Re^2: making a GUI for a web client

by dannoura (Pilgrim)
on Jul 14, 2004 at 11:38 UTC ( #374269=note: print w/ replies, xml ) Need Help??


in reply to Re: making a GUI for a web client
in thread making a GUI for a web client

Thanks for the reply. I may be going the wrong way about this but using the code below doesn't update the label text, it produces another label.

#! c:\perl\bin -w use strict; use Tk; my $mw=new MainWindow; $mw->minsize(qw(250 150)); $mw->title(" Tk Test 1 "); my $body=$mw->Frame(-background=>'cyan')->pack(side=>'bottom', -fill=> +'x'); my $fr1=$body->Frame(-background=>'magenta')->pack(side=>'top', -fill= +>'x'); my $txt='hi'; $fr1->Label(-textvariable=>\$txt, -background=>'yellow', -foreground=> +'red')->pack(-fill=>'y'); sleep 5; change('foo', $fr1, $mw); sleep 5; change('bar', $fr1, $mw); MainLoop(); sub change { my ($txt, $fr1, $mw)=@_; $fr1->Label(-textvariable=>\$txt, -background=>'yellow', -foregrou +nd=>'red')->pack(-fill=>'y'); $mw->update; }

-----------------------------------

Any comments about coding style are welcome.


Comment on Re^2: making a GUI for a web client
Download Code
Replies are listed 'Best First'.
Re^3: making a GUI for a web client
by roju (Friar) on Jul 14, 2004 at 14:38 UTC

    I'm not familiar with Tk, but I think he was trying to get you to do something more like this:

    #! c:\perl\bin -w use strict; use Tk; my $mw=new MainWindow; $mw->minsize(qw(250 150)); $mw->title(" Tk Test 1 "); my $body=$mw->Frame(-background=>'cyan')->pack(side=>'bottom', -fill=> +'x'); my $fr1=$body->Frame(-background=>'magenta')->pack(side=>'top', -fill= +>'x'); my $txt='hi'; $fr1->Label(-textvariable=>\$txt, -background=>'yellow', -foreground=> +'red')->pack(-fill=>'y'); sleep 5; change('foo', $fr1, $mw); sleep 5; change('bar', $fr1, $mw); MainLoop(); sub change { my ($new_txt, $fr1, $mw)=@_; $txt = $new_txt $fr1->pack(-fill=>'y'); $mw->update; }

    Again, I'm not a Tk guy, but I think the $txt variable gets tied to the label, so you just want to update the variable and get the label to refresh itself.

    Update: Just tested it here, and yup, it replaces the old label.

    Update 2: Fixed code formatting.

      Thanks! That works.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2015-07-30 06:12 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 (270 votes), past polls