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

  <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>Набір інструментів віджетів для графічних інтерфейсів</desc>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Максим Дзюманенко</mal:name>
      <mal:email>dziumanenko@gmail.com</mal:email>
      <mal:years>2010</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Юрій Чорноіван</mal:name>
      <mal:email>yurchor@ukr.net</mal:email>
      <mal:years>2020</mal:years>
    </mal:credit>
  </info>

<title>GTK</title>

<p>GTK — головна бібліотека для побудови інтерфейсів користувача у GNOME. Її назва є абревіатурою від «GIMP Tool Kit», оскільки спочатку бібліотеку було написано для відповідної програми для роботи із зображеннями, і лише згодом відокремлено від неї як окрему бібліотеку. У ній передбачено усі елементи керування інтерфейсом користувача або <em>віджети</em>, які використовують у типовій програмі із графічним інтерфейсом. Її об'єктно-орієнтований програмний інтерфейс надає вам змогу будувати інтерфейси користувача без потреби вдаватися до програмування низькорівневих процедур малювання та взаємодії із пристроями.</p>

<p>Окрім базових віджетів, зокрема кнопок, пунктів для позначення та полів для введення тексту, у GTK передбачено програмні інтерфейси «модель-перегляд-контролер» (Model-View-Controller або MVC) для ієрархічних панелей перегляду, багаторядкових полів для тексту, а також пунктів меню та панелі інструментів.</p>

<p>Віджети у GTK розташовують на вікнах за допомогою <em>моделі складання до коробки</em>. Програмісти лише вказують, як пакувати віджети до панелей-контейнерів, замість розташовування їх безпосередньо у абсолютних координатах. Отже, GTK забезпечує визначення належних розмірів вікон за вмістом та автоматичну обробку зміни розмірів вікон. Для мов із записом справа ліворуч, подібних до арабської та івриту, GTK автоматично розвертає інтерфейс користувача так, щоб елементи керування у вікнах мали очікуване розташування.</p>

<p>У GTK ви можете створювати нетипові віджети для використання у програмах. Подібно до природних або типових віджетів, ці нетипові віджети можуть підтримувати усі можливості, які реалізовано у GTK: підтримка мов із записом справа ліворуч, інтерфейси доступності, навігація за допомогою клавіатури та автоматичне визначення розмірів.</p>

<list style="compact">
  <item><p><link href="https://www.gtk.org/">Офіційний сайт</link></p></item>
  <item><p><link href="https://developer.gnome.org/gnome-devel-demos/stable/">Підручник-демонстрація</link></p></item>
  <item><p><link href="https://developer.gnome.org/gtk3/stable/">Довідник-підручник</link></p></item>
  <item><p><link href="https://gitlab.gnome.org/GNOME/gtk/">Сховище Git</link></p></item>
  <item><p><link href="https://discourse.gnome.org/">Обговорення GTK та місце, де вам допоможуть</link></p></item>
</list>
</page>
