Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: Perl/Tk confusion

by bluescreen (Friar)
on Jan 25, 2011 at 01:59 UTC ( [id://884030]=note: print w/replies, xml ) Need Help??


in reply to Perl/Tk confusion

I don't get what you mean with run by so fast I can't read them you mean you can't read them in the GUI or that the file is not in the file system because all that sub does is to write a file there is no showing in the UI not even errors, errors will be printed in the STDERR of the shell calling your program and by shell I mean whatever program (Explorer.EXE) is calling your program.

Then you seem to be confused between widgets vs. value that an specific widget holds, if you want to pass parameters to a command line you have to read widget's contents before invoking it.

One thing to be expected if you call an external program is that your UI will be frozen while the external program runs and it will look like the program hung.

Replies are listed 'Best First'.
Re^2: Perl/Tk confusion
by Dandello (Monk) on Jan 25, 2011 at 03:23 UTC

    I'm so confused about this conversion I don't even know what questions to ask.

    What I was hoping to do is get the values from the widgets and pass them (either directly or through a file) to another script that can run in the background as long as it needs. I can already do this using Apache, but since the long-running script is going to be run on a different machine, I was hoping to just load Perl on it and not worry about configuring Apache on this other machine.

      Here, try this script. It should get you started.
      #!/usr/bin/perl use warnings; use strict; use Tk; my $MainWindow = MainWindow->new; $MainWindow->title("Data Entry Form"); my $NameOfPerson; # global variable $MainWindow -> Label(-justify => 'left', -text => "Name of person : ") ->pack(-side => 'left',-anchor => 'n'); my $entry = $MainWindow -> Entry(-selectborderwidth => 10) ->pack(-side => 'top',-anchor => 'n'); $entry->bind('<Return>',[\&somesub]); $entry->focus; $MainWindow -> Button(-text => "OK", -command => \&somesub) ->pack(-side => 'bottom',-anchor => 'center'); MainLoop; #your script can continue here after Tk is done while(1){print time."\t$NameOfPerson\n"; sleep 1;} sub somesub { $,="\n"; $NameOfPerson = $entry -> get; print "\nNameOfPerson ->$NameOfPerson\n"; $MainWindow -> destroy; }

      I'm not really a human, but I play one on earth.
      Old Perl Programmer Haiku ................... flash japh

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (6)
As of 2024-04-23 08:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found