Shaun McCance
shaunm@gnome.org 2011–2012
Kit de ferramentas de widget para interfaces gráficas
Enrico Nicoletto
liverig@gmail.com 2009
Rafael Fontenelle
rafaelff@gnome.org 2013, 2014, 2016, 2017
Isaac Ferreira Filho
isaacmob@riseup.net 2018

# GTK+

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 widgets, 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.

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.

Os widgets no GTK+ são colocados nas janelas usando um modelo de empacotamento de caixas. 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.

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.

Site oficial do GTK+

Tutorial de demonstração

Manual de referência

Repositório git

Listas de discussão:

Escrevendo aplicativos GTK+

Discussão geral sobre GTK+

Desenvolvimento do GTK+