Post #235,478
11/22/05 3:47:52 AM
|
Perl GUI programming for a complete idiot
I've written some scripts. I want other people to use them. I also want them not to have to use them at a command-line, as all they do is take file A, do thing X to it, and produce file B as output.
What do folks use for quick and easy GUI programming in Perl?
This is going to have to work on Windows.
Peter [link|http://www.no2id.net/|Don't Let The Terrorists Win] [link|http://www.kuro5hin.org|There is no K5 Cabal] [link|http://guildenstern.dyndns.org|Home] Use P2P for legitimate purposes!
|
Post #235,479
11/22/05 4:01:15 AM
|
Perl/Tk
It won't be terribly pretty (I think for simple UI it blends in with the system look-n-feel pretty well these days), but it will work.
There's a good O'Reilly book on it too.
-- Chris Altmann
|
Post #235,481
11/22/05 6:07:14 AM
|
That's fearfully ugly.
But I'll give it a go. I suspect there may be user resistance, though.
Peter [link|http://www.no2id.net/|Don't Let The Terrorists Win] [link|http://www.kuro5hin.org|There is no K5 Cabal] [link|http://guildenstern.dyndns.org|Home] Use P2P for legitimate purposes!
|
Post #235,491
11/22/05 7:59:49 AM
|
Maybe wxPerl.
[link|http://wxperl.sourceforge.net/|wxPerl]. No experience with it myself and it may be pretty young (v. 0.26).
Luck!
Cheers, Scott.
|
Post #235,516
11/22/05 10:40:30 AM
|
I've used it.
Standard painful build up a GUI a button/canvas/whatever at a time.
GUI programming is a royal pain in the ass when you don't have a screen painter / code generator.
|
Post #235,522
11/22/05 11:48:11 AM
|
I want it really simple
At the level of "my $filename = show_file_selector_dialogue();" sort of thing.
If I'm going to get into anything more I might as well learn Java, C++ or C# and at least have something on my CV to show for it.
Peter [link|http://www.no2id.net/|Don't Let The Terrorists Win] [link|http://www.kuro5hin.org|There is no K5 Cabal] [link|http://guildenstern.dyndns.org|Home] Use P2P for legitimate purposes!
|
Post #235,526
11/22/05 12:10:11 PM
|
Sounds like you need some Tiles
Yes, straight Tk does look, well, [link|http://tktable.sourceforge.net/tile/screenshots/unix.html|outdated], but it can look like [link|http://tktable.sourceforge.net/tile/screenshots/windowsxp.html|this on Windows XP] when using the [link|http://tktable.sourceforge.net/tile/|Tile theme engine]
I've done a fair amount of Tkinter (Tk for Python) programming; it's been pretty easy for me. Tkinter has Open/Save dialogs, message boxes, etc, and there are higher level components available, at least for Python.
I haven't used Tiles yet, but in a week or two, I hope to give Tiles a shot to improve the appearance of some existing Tkinter code.
I may eventually move to wxWindows; it does seem faster and has a nice grid widget, but the learning curve is definitely higher.
Tony
|
Post #235,598
11/22/05 10:06:15 PM
|
Make it a web application. :-)
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #235,610
11/23/05 1:17:37 AM
|
Would need a server for that.
Peter [link|http://www.no2id.net/|Don't Let The Terrorists Win] [link|http://www.kuro5hin.org|There is no K5 Cabal] [link|http://guildenstern.dyndns.org|Home] Use P2P for legitimate purposes!
|
Post #235,782
11/23/05 9:47:35 PM
|
Trivial. Lots of frameworks build one right in.
For instance [link|http://catalyst.perl.org/|catalyst] does.
You can even write a Perl script that will launch a webserver process, then make a system call to bring up your browser pointing at a web page from the webserver. Once that framework is all set up, then the rest of it is a web application. To complete the picture, install all of the software (including Perl) to a network drive and people can use your program after installing 1 dll on their machine. (perlcrt.dll - might not be required any more, but it was when I last needed to care about this.)
I'm not saying that this is a particularly good solution. But it lets you work without having to learn a GUI toolkit if you don't want to.
Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #235,822
11/24/05 1:34:09 AM
|
It's not the software, silly.
It's the hardware. A production server needs care, feeding and attention. It needs backing up. It needs management approval. Etc. Etc.
I'm unlikely to get sympathy from The Boss for a request along the lines of "I want to present a very simple interface for an application that only 6 people will ever use, please can I have a web server and all the concomitant IT shenanigans?"
Peter [link|http://www.no2id.net/|Don't Let The Terrorists Win] [link|http://www.kuro5hin.org|There is no K5 Cabal] [link|http://guildenstern.dyndns.org|Home] Use P2P for legitimate purposes!
|
Post #235,827
11/24/05 1:56:15 AM
|
I can't do anything about your corporate politics
Technically, providing a webserver is trivial. Providing a webserver that can only be accessed from the machine that it is being run on is somewhat harder, but is still not that difficult. There is no more difficulty installing this than there is any other stand-alone program.
However if saying that you've done so causes people to freak out, then it is a non-starter.
That's OK, it was somewhat of an only halfway serious joke suggestion anyways. A joke because for what you want to do, it isn't a good way of going about things. But halfway serious in that a lot of things which have no real point being web applications are made into web applications these days because lazy people want to avoid having to write a real GUI and rollout software when they don't have to.
Certainly at work we reflexively write things as web applications because that is just easier to do.
Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #235,892
11/24/05 1:52:41 PM
|
what please may I, etc comes in to it.
download Resin start it up listening on port 80, deny that its a web server, its a gui based listener for your sysadmin needs, like snmp but prettier. thanx, bill
"the reason people don't buy conspiracy theories is that they think conspiracy means everyone is on the same program. Thats not how it works. Everybody has a different program. They just all want the same guy dead. Socrates was a gadfly, but I bet he took time out to screw somebodies wife" Gus Vitelli
Any opinions expressed by me are mine alone, posted from my home computer, on my own time as a free american and do not reflect the opinions of any person or company that I have had professional relations with in the past 49 years. meep questions, help? [link|mailto:pappas@catholic.org|email pappas at catholic.org]
|
Post #235,908
11/24/05 4:46:35 PM
8/21/07 6:41:03 AM
|
If you're gonna do that, seaside/squeak is even easier
Why write in java if you don't have to?
I have a bunch of little seaside apps running at work. If I have to write the thing, that's what I use. I deploy them to an integration node our team owns and link them from wiki pages. Nobody knows there's smalltalk running and nobody really cares. These things tend to stay up without any kind of attention at all forever (8 months one of them is now running non-stop).
"Whenever you find you are on the side of the majority, it is time to pause and reflect" --Mark Twain
"The significant problems we face cannot be solved at the same level of thinking we were at when we created them." --Albert Einstein
"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses." --George W. Bush
|
Post #235,943
11/24/05 9:20:34 PM
|
How did you get from Perl to Java???
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #235,945
11/24/05 9:32:05 PM
|
Todd forgot that left turn at Albuquerque.
|
Post #235,950
11/24/05 9:58:07 PM
|
He's got a kind of co-dependency thing going on, I think...
Regards,
-scott anderson
"Welcome to Rivendell, Mr. Anderson..."
|
Post #235,961
11/24/05 11:58:10 PM
8/21/07 12:37:41 PM
|
I think I'll just let folks wallow in their ignorance
from here on out.
Clearly I have nothing to contribute.
"Whenever you find you are on the side of the majority, it is time to pause and reflect" --Mark Twain
"The significant problems we face cannot be solved at the same level of thinking we were at when we created them." --Albert Einstein
"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses." --George W. Bush
|
Post #235,963
11/25/05 12:09:24 AM
|
Please don't. Wallowing gets old.
|
Post #235,958
11/24/05 11:51:25 PM
8/21/07 12:37:33 PM
|
Resin is primarily used as a servlet container
That's what its *for* afaict.
can it do perl too?
"Whenever you find you are on the side of the majority, it is time to pause and reflect" --Mark Twain
"The significant problems we face cannot be solved at the same level of thinking we were at when we created them." --Albert Einstein
"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses." --George W. Bush
|
Post #235,959
11/24/05 11:54:26 PM
|
Ah. I see.
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #235,975
11/25/05 11:01:25 AM
|
just write a 2 line servlet to go do perl
just like WalkThisMibToMyPerlScript in snmp. Just a listener. Prolly put a bind on a port with perl directly for that matter. thanx, bill
"the reason people don't buy conspiracy theories is that they think conspiracy means everyone is on the same program. Thats not how it works. Everybody has a different program. They just all want the same guy dead. Socrates was a gadfly, but I bet he took time out to screw somebodies wife" Gus Vitelli
Any opinions expressed by me are mine alone, posted from my home computer, on my own time as a free american and do not reflect the opinions of any person or company that I have had professional relations with in the past 49 years. meep questions, help? [link|mailto:pappas@catholic.org|email pappas at catholic.org]
|
Post #235,994
11/25/05 1:26:50 PM
8/21/07 12:38:32 PM
|
Might as well install apache/mason
Then it will really be two lines.
"Whenever you find you are on the side of the majority, it is time to pause and reflect" --Mark Twain
"The significant problems we face cannot be solved at the same level of thinking we were at when we created them." --Albert Einstein
"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses." --George W. Bush
|
Post #235,968
11/25/05 1:32:25 AM
|
WTF?
SmallTalk is even more syntactically bizarre than Java, (which is also out of the question), and, like Java, is very noticeably Not Perl, with which all this logic has already been implemented.
Now, does a non-Tk GUI toolkit exist that has the vital property of being idiotically simple to use?
Peter [link|http://www.no2id.net/|Don't Let The Terrorists Win] [link|http://www.kuro5hin.org|There is no K5 Cabal] [link|http://guildenstern.dyndns.org|Home] Use P2P for legitimate purposes!
|
Post #235,987
11/25/05 12:16:50 PM
|
I wouldn't know since I haven't needed that
But the ones that I glanced at didn't look idiotically simple to use.
Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #235,993
11/25/05 1:26:02 PM
8/21/07 12:38:27 PM
|
What GUI toolkit do you know?
None of them seem idiotically simple to use, but I'm guessing these are command line utilities and you just want a GUI to configure arguments and display results nicely.
You can use any GUI toolkit you know how to use and interact with your perl programs via the equivalent of "system".
If you want a web solution and will stick with perl look at mason. If you know VB and its windows, use that and whatever command line exec capability it has. If you want cross platform basic, try RealBasic. Use Squeak and call your perl via OSProcess - either the Squeak GUI or Seaside web gui. Use Cocoa and use NSTask if its a Mac. Use bloody Java and Swing with System.exec()
Fronting command line tools is easy and similar facilities exist in any language - pick one that has a GUI api you can handle.
Sheesh.
"Whenever you find you are on the side of the majority, it is time to pause and reflect" --Mark Twain
"The significant problems we face cannot be solved at the same level of thinking we were at when we created them." --Albert Einstein
"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses." --George W. Bush
|
Post #235,980
11/25/05 11:53:40 AM
|
Been there, that's why I used wxPerl
So, let's get off this silly war of various people waving their tech credentials around and telling you how easily you can do what you want to, using their solution, which is a non-starter due to your environmental / network / admin limitations, which were just like mine.
What do your scripts do, what type of arguments to they take, what kind of output will they produce?
|