<?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="https://www.gtk.org/">Officiell webbplats</link></p></item>
  <item><p><link href="https://developer.gnome.org/gnome-devel-demos/stable/">Demonstrationer</link></p></item>
  <item><p><link href="https://developer.gnome.org/gtk3/stable/">Referenshandbok</link></p></item>
  <item><p><link href="https://gitlab.gnome.org/GNOME/gtk/">Git-arkiv</link></p></item>
  <item><p><link href="https://discourse.gnome.org/">Diskussion om GTK och hjälp</link></p></item>
</list>
</page>
