<?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" xml: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>

    <include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>

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

<title>GTK+</title>

<p>GTK+ é a principal biblioteca utilizada para a construção de interfaces de usuário no GNOME. Seu nome significa “GIMP Tool Kit” ou, em português, kit de ferramentas do GIMP porque originalmente ele era explicitamente escrito para aquele programa de manipulação de imagem e, posteriormente, extraído dele para uma biblioteca independente. Este kit fornece todos os controles de interface de usuário, ou <em>widgets</em>, usados em uma aplicação gráfica comum. Ele é moderno e as APIs orientadas a objetos permitem a construção de interfaces de usuário atraentes e sofisticadas sem ter que lidar com detalhes de baixo nível de desenho e interação de dispositivos.</p>

<p>Além dos widgets básicos como botões, caixas de seleção e entradas de texto, o GTK+ também oferece APIs com MVC (controlador de modelo de visualização) para visualizações em árvore, campos de texto com múltiplas linhas e ações de menu e barra de tarefas.</p>

<p>Os widgets no GTK+ são colocados nas janelas usando um <em>modelo de empacotamento de caixas</em>. Os programadores apenas especificam como empacotar os widgets juntos em caixas de contêiner, ao invés de posicioná-las diretamente com coordenadas absolutas. Então, o GTK+ certifica-se de que as janelas estão do tamanho certo para ajustar seus conteúdos e isto automaticamente manipula redimensionamento de janelas. Para idiomas da direita para esquerda como árabe e hebreu, GTK+ inverte automaticamente a interface de usuário da esquerda para a direita de forma que os controles tenham a ordem visual esperada.</p>

<p>GTK+ permite que você desenvolva widgets personalizados para uso em aplicativos. Similar a widgets nativos ou de estoque, esses widgets personalizados podem ter suporte a todos os recursos que o GTK+ tem: suporte a idioma da direita para esquerda, interfaces de acessibilidade, navegação de teclado e redimensionamento automático.</p>

<list style="compact">
  <item><p><link href="http://gtk.org/">Site oficial do GTK+</link></p></item>
  <item><p><link href="http://developer.gnome.org/gnome-devel-demos/stable/">Tutorial de demonstração</link></p></item>
  <item><p><link href="http://developer.gnome.org/gtk3/stable/">Manual de referência</link></p></item>
  <item><p><link href="https://git.gnome.org/browse/gtk+/">Repositório git</link></p></item>
  <item><p>Listas de discussão:</p>
    <list style="compact">
      <item><p><link href="https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list">Escrevendo aplicativos GTK+</link></p></item>
      <item><p><link href="https://mail.gnome.org/mailman/listinfo/gtk-list">Discussão geral sobre GTK+</link></p></item>
      <item><p><link href="https://mail.gnome.org/mailman/listinfo/gtk-devel-list">Desenvolvimento do GTK+</link></p></item>
    </list>
  </item>
</list>
</page>
