|Perl: the Markov chain saw|
There are slides from an OSCON 2007 presentation about WxPerl GUI development (offsite link).
Cross-platform GUI development is hard.
You could also look at SDL. I have seen some very nice SDL code demos at my local Perlmongers meetings. I believe the SDL code takes advantage of the OpenGL pipeline.
Making a decent-looking GUI is also a lot of work, at least when I've tried to do it. I've stopped blaming the tools! The best thing to do is to try to make a good-looking GUI on any platform, just to see what you are up against. I did this myself by coding Tetris in C++ using SDL on Linux.
Maybe there is a hackish way to create good looks. Something like this - If you knew how to draw a really nice screenshot of your program with any tool, you could carve up your screenshot into Tk::Pixmap images that you put on buttons.
But that's not what I do. I build a little web server into my perl app, use POE::Wheel::Run to launch independent processes, and build my UI out of web pages. I take it easy and let the browser do most of the art. This also has the advantage that the user can change the fonts, window size, search the text, etc. And if someone wants to localize it, they can edit my HTML::Template files.
It should work perfectly the first time! - toma