View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Ross McFarland > Gtk2-1.043 > Gtk2



Annotate this POD


New  2
Open  8
View/Report Bugs
Module Version: 1.043   Source   Latest Release: Gtk2-1.224


Gtk2 - Perl interface to the 2.x series of the Gimp Toolkit library


  use Gtk2 -init;
  # Gtk2->init; works if you didn't use -init on use
  my $window = Gtk2::Window->new ('toplevel');
  my $button = Gtk2::Button->new ('Quit');
  $button->signal_connect (clicked => sub { Gtk2->main_quit });
  $window->add ($button);


Perl bindings to the 2.x series of the Gtk+ widget set. 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 Gtk2 module allows a perl developer to use the Gtk+ graphical user interface library. Find out more about Gtk+ at

The GTK+ Reference Manual is also a handy companion when writing Gtk programs in any language. The perl bindings follow the C API very closely, and the C reference documentation should be considered the canonical source.

To discuss gtk2-perl, ask questions and flame/praise the authors, join at

Also have a look at the gtk2-perl website and sourceforge project page,


perl(1), Glib(3pm).

Gtk2::Gdk::Keysyms(3pm) contains a hash of key codes, culled from gdk/gdkkeysyms.h

Gtk2::api(3pm) describes how to map the C API into perl, and some of the important differences in the perl bindings.

Gtk2::Helper(3pm) contains stuff that makes writing Gtk2 programs a little easier.

Gtk2::SimpleList(3pm) makes the GtkListStore and GtkTreeModel a lot easier to use.

Gtk2::Pango(3pm) exports various little-used but important constants you may need to work with pango directly.

Gtk2::index(3pm) lists the autogenerated api documentation pod files for Gtk2.

Gtk2 also provides code to make it relatively painless to create perl wrappers for other GLib/Gtk-based libraries. See Gtk2::CodeGen, ExtUtils::PkgConfig, and ExtUtils::Depends. If you're writing bindings, you'll probably also be interested in Gtk2::devel, which is a supplement to Glib::devel and Glib::xsapi. The Binding Howto, at, ties it all together.


The gtk2-perl team:

 muppet <scott at asofyet dot org>
 Ross McFarland <rwmcfa1 at neces dot com>
 Torsten Schoenfeld <kaffeetisch at web dot de>
 Marc Lehmann <pcg at goof dot com>
 Göran Thyni <gthyni at kirra dot net>
 Jörn Reder <joern at zyn dot de>
 Chas Owens <alas at wilma dot widomaker dot com>
 Guillaume Cottenceau <gc at mandrakesoft dot com>


Copyright 2003-2004 by the gtk2-perl team.

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 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA.

syntax highlighting: