
Gtk3 - Perl interface to the 3.x series of the gtk+ toolkit

use Gtk3 -init;
my $window = Gtk3::Window->new ('toplevel');
my $button = Gtk3::Button->new ('Quit');
$button->signal_connect (clicked => sub { Gtk3::main_quit });
$window->add ($button);
$window->show_all;
Gtk3::main;

Perl bindings to the 3.x series of the gtk+ toolkit. This module allows you to write graphical user interfaces in a Perlish and object-oriented way, freeing you from the casting and memory management in C, yet remaining very close in spirit to original API.

The Gtk3 module allows a Perl developer to use the gtk+ graphical user interface library. Find out more about gtk+ at http://www.gtk.org.
The gtk+ reference manual is also a handy companion when writing Gtk3 programs in Perl: http://developer.gnome.org/gtk3/stable/. The Perl bindings follow the C API very closely, and the C reference documentation should be considered the canonical source.
To discuss Gtk3 and ask questions join gtk-perl-list@gnome.org at http://mail.gnome.org/mailman/listinfo/gtk-perl-list.
Also have a look at the gtk2-perl website and sourceforge project page, http://gtk2-perl.sourceforge.net.
The majority of the API has not changed, so as a first approximation you can run s/Gtk2/Gtk3/ on your application. A big exception to this rule is APIs that were deprecated in gtk+ 2.x -- these were all removed from gtk+ 3.0 and thus from Gtk3. The migration guide at http://developer.gnome.org/gtk3/stable/migrating.html describes what to use instead. Apart from this, here is a list of some other incompatible differences between Gtk2 and Gtk3:
Gtk3::Stock::lookup instead of Gtk3::Stock->lookup.Gtk2::Gdk::Keysyms{XYZ}, use Gtk3::Gdk::KEY_XYZ.Note also that Gtk3::CHECK_VERSION will always fail when passed 2.y.z, so if you have any existing version checks in your code, you will most likely need to remove them.



Copyright (C) 2011-2012 by Torsten Schoenfeld <kaffeetisch@gmx.de>
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.