<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="tech-gtk" lang="pt-BR">

  <info>
    <link type="guide" xref="tech" group="gtk"/>
    <revision pkgversion="3.0" date="2011-04-05" status="candidate"/>

    <credit type="author copyright">
      <name>Shaun McCance</name>
      <email its:translate="no">shaunm@gnome.org</email>
      <years>2011–2012</years>
    </credit>

    <license xmlns="http://projectmallard.org/1.0/" href="http://creativecommons.org/licenses/by-sa/3.0/us/">
<p>This work is licensed under a
<link href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons
Attribution-Share Alike 3.0 United States License</link>.</p>
<p>Como uma excepção especial, os detentores dos direitos autorais dão a você permissão para copiar, modificar e distribuir o código exemplo contido neste documento sob os termos de sua escolha, sem restrição.</p>
</license>

    <desc>Kit de ferramentas de widget para interfaces gráficas</desc>
  <credit type="translator copyright"><name>Enrico Nicoletto</name><email>liverig@gmail.com</email><years>2009</years></credit><credit type="translator copyright"><name>Rafael Fontenelle</name><email>rafaelff@gnome.org</email><years>2013, 2014, 2016, 2017</years></credit><credit type="translator copyright"><name>Isaac Ferreira Filho</name><email>isaacmob@riseup.net</email><years>2018</years></credit></info>

<title>GTK</title>

<p>GTK is the primary library used to construct user interfaces in GNOME.  Its
name stands for "GIMP Tool Kit", as originally it was explicitly
written for that image manipulation program, and later extracted from
it as a stand-alone library.  It provides all the user
interface controls, or <em>widgets</em>, used in a common graphical
application.  Its object-oriented API allows you to construct user
interfaces without dealing with the low-level details of drawing and
device interaction.</p>

<p>In addition to basic widgets, such as buttons, check boxes,
and text entries, GTK also provides Model-View-Controller
(MVC) APIs for tree views, multi-line text fields, and menu and
toolbar actions.</p>

<p>Widgets in GTK are placed on windows using a <em>box-packing model</em>.
Programmers specify only how to pack widgets together in container
boxes, instead of positioning them directly with absolute coordinates.
Thus, GTK ensures that windows are sized correctly to fit their contents,
and it automatically handles window resizing.  For right-to-left languages like
Arabic and Hebrew, GTK automatically reverses the user interface from left
to right so that controls have the expected visual order.</p>

<p>GTK allows you to develop custom widgets for use in applications.
Similar to native or stock widgets, these custom widgets can
support all the features that GTK has:  right-to-left language support,
accessibility interfaces, keyboard navigation, and automatic sizing.</p>

<list style="compact">
  <item><p><link href="https://www.gtk.org/">Official website</link></p></item>
  <item><p><link href="https://developer.gnome.org/gnome-devel-demos/stable/">Tutorial de demonstração</link></p></item>
  <item><p><link href="https://developer.gnome.org/gtk3/stable/">Manual de referência</link></p></item>
  <item><p><link href="https://gitlab.gnome.org/GNOME/gtk/">Git repository</link></p></item>
  <item><p><link href="https://discourse.gnome.org/">Discussion about GTK and getting help</link></p></item>
</list>
</page>
