Jan 22, 2014, 7:58 AM
Re: [PapaGeek] What is the best Perl GUI package for Windows7?
c:\>perldoc -q gui
Found in C:\strawberry\perl\lib\perlfaq3.pod
How can I write a GUI (X, Tk, Gtk, etc.) in Perl?
(contributed by Ben Morrow)
There are a number of modules which let you write GUIs in Perl. Most GUI
toolkits have a perl interface: an incomplete list follows.
Tk This works under Unix and Windows, and the current version doesn't
look half as bad under Windows as it used to. Some of the gui
elements still don't 'feel' quite right, though. The interface is
very natural and 'perlish', making it easy to use in small scripts
that just need a simple gui. It hasn't been updated in a while.
Wx This is a Perl binding for the cross-platform wxWidgets toolkit (
<http://www.wxwidgets.org> ). It works under Unix, Win32 and Mac OS
X, using native widgets (Gtk under Unix). The interface follows the
C++ interface closely, but the documentation is a little sparse for
someone who doesn't know the library, mostly just referring you to
the C++ documentation.
Gtk and Gtk2
These are Perl bindings for the Gtk toolkit ( <http://www.gtk.org>
). The interface changed significantly between versions 1 and 2 so
they have separate Perl modules. It runs under Unix, Win32 and Mac
OS X (currently it requires an X server on Mac OS, but a 'native'
port is underway), and the widgets look the same on every platform:
i.e., they don't match the native widgets. As with Wx, the Perl
bindings follow the C API closely, and the documentation requires
you to read the C documentation to understand it.
This provides access to most of the Win32 GUI widgets from Perl.
Obviously, it only runs under Win32, and uses native widgets. The
Perl interface doesn't really follow the C interface: it's been made
more Perlish, and the documentation is pretty good. More advanced
stuff may require familiarity with the C Win32 APIs, or reference to
CamelBones ( <http://camelbones.sourceforge.net> ) is a Perl
interface to Mac OS X's Cocoa GUI toolkit, and as such can be used
to produce native GUIs on Mac OS X. It's not on CPAN, as it requires
frameworks that CPAN.pm doesn't know how to install, but
installation is via the standard OSX package installer. The Perl API
is, again, very close to the ObjC API it's wrapping, and the
documentation just tells you how to translate from one to the other.
Qt There is a Perl interface to TrollTech's Qt toolkit, but it does not
appear to be maintained.
Sx is an interface to the Athena widget set which comes with X, but
again it appears not to be much used nowadays.
I've only used Tk, and that was a number of years ago. If you want a windows specific gui framework, then I'd probably suggest using Win32::GUI. However, I don't think its had any updates since 2008, so it may be on its way out.
(This post was edited by FishMonger on Jan 22, 2014, 8:04 AM)