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:
- •
- The call syntax for class-static methods is now always
"Gtk3::Stock::lookup" instead of
"Gtk3::Stock->lookup".
- •
- The %Gtk2::Gdk::Keysyms hash is gone; instead of
"Gtk2::Gdk::Keysyms{XYZ}", use
"Gtk3::Gdk::KEY_XYZ".
- •
- The Gtk2::Pango compatibility wrapper was not carried over;
simply use the namespace "Pango" everywhere. It gets set up
automatically when loading Gtk3.
- •
- 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.