Gtk3(3pm) User Contributed Perl Documentation Gtk3(3pm)
NAME
Gtk3 - Perl interface to the 3.x series of the gtk+ toolkit
SYNOPSIS
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;
ABSTRACT
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.
DESCRIPTION
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
<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
<http://gtk2-perl.sourceforge.net>.
Porting from Gtk2 to Gtk3
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:
o The call syntax for class-static methods is now always "Gtk3::Stock::lookup" instead of "Gtk3::Stock->lookup".
o The %Gtk2::Gdk::Keysyms hash is gone; instead of "Gtk2::Gdk::Keysyms{XYZ}", use "Gtk3::Gdk::KEY_XYZ".
o The Gtk2::Pango compatibility wrapper was not carried over; simply use the namespace "Pango" everywhere. It gets set up automatically
when loading Gtk3.
o The Gtk3::Menu menu position callback passed to popup() does not receive x and y parameters anymore.
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.
SEE ALSO
Glib
Glib::Object::Introspection
AUTHORS
Torsten Schoenfeld <kaffeetisch@gmx.de>
COPYRIGHT AND LICENSE
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.
perl v5.14.2 2012-06-23 Gtk3(3pm)