<?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="sv">

  <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>Komponentverktygslåda för grafiska gränssnitt</desc>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Daniel Nylander</mal:name>
      <mal:email>po@danielnylander.se</mal:email>
      <mal:years>2007</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Anders Jonsson</mal:name>
      <mal:email>anders.jonsson@norsjovallen.se</mal:email>
      <mal:years>2017, 2018</mal:years>
    </mal:credit>
  </info>

<title>GTK+</title>

<p>GTK+ är det primära bibliotek som används för att konstruera användargränssnitt i GNOME. Dess namn står för ”GIMP Tool Kit”, då det ursprungligen var skrivet explicit för det bildmanipuleringsprogrammet, och extraherades sedan från det som ett fristående bibliotek. Det tillhandahåller alla gränssnittskontroller, eller <em>komponenter</em>, som används i ett vanligt grafiskt program. Dess objektorienterade API låter dig konstruera användargränssnitt utan att behöva hantera lågnivådetaljer kring utritning och enhetsinteraktion.</p>

<p>Utöver grundläggande komponenter så som knappar, kryssrutor och textinmatningsfält så tillhandahåller GTK+ även Model-View-Controller (MVC) API:er för trädvyer, textfält med flera rader samt meny- och verktygsfältsåtgärder.</p>

<p>Komponenter i GTK+ placeras i fönster med en <em>lådpackningsmodell</em>. Programmerare anger endast hur komponenter ska packas tillsammans i behållarlådor, istället för att positionera dem direkt med absoluta koordinater. På det sätter säkerställer GTK+ att fönster har korrekt storlek för att rymma sitt innehåll, och det hanterar automatiskt storleksändring av fönster. För höger-till-vänster-språk som arabiska och hebreiska vänder GTK+ automatiskt användargränssnittet från vänster till höger så att kontroller har den väntade visuella ordningen.</p>

<p>GTK+ låter dig utveckla anpassade komponenter för användning i program. Liksom inhemska komponenter eller standardkomponenter så kan dessa anpassade komponenter stödja alla funktioner som GTK+ har: språkstöd för höger-till-vänster, hjälpmedelsgränssnitt, tangentbordsnavigering och automatisk storleksändring.</p>

<list style="compact">
  <item><p><link href="http://gtk.org/">Officiell webbplats</link></p></item>
  <item><p><link href="http://developer.gnome.org/gnome-devel-demos/stable/">Demonstrationer</link></p></item>
  <item><p><link href="http://developer.gnome.org/gtk3/stable/">Referenshandbok</link></p></item>
  <item><p><link href="https://git.gnome.org/browse/gtk+/">git-arkiv</link></p></item>
  <item><p>Sändlistor:</p>
    <list style="compact">
      <item><p><link href="https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list">Skriva GTK+-program</link></p></item>
      <item><p><link href="https://mail.gnome.org/mailman/listinfo/gtk-list">Allmän diskussion om GTK+</link></p></item>
      <item><p><link href="https://mail.gnome.org/mailman/listinfo/gtk-devel-list">Utveckling av GTK+</link></p></item>
    </list>
  </item>
</list>
</page>
