Artikel ini memerlukan pemutakhiran informasi. Alasannya: Untuk bagian "platform" dan "tampilan dan citarasa" perlu dimutakhirkan agar sesuai dengan perkembangan terbaru. Harap perbarui artikel dengan menambahkan informasi terbaru yang tersedia.(Maret 2021)
Salah satu languange binding untuk GTK yang menggunakan GObject-introspection diantaranya PyGObject, Vala, GJS dan seed.
Seperti Qt, tetapi tidak sama dengan beberapa toolkit widget lainnya, GTK tidak didasarkan pada Xt. Ini memungkinkan fleksibilitas dan memungkinkan GTK dapat digunakan pada semua platform yang tidak memiliki Sistem X Window. Tetapi, tanpa kebergantungan ini, GTK memiliki kelemahan akses terhadap basis data X resources, cara tradisional untuk mengkustomisasi aplikasi-aplikasi X11.
GTK mulanya menyertakan beberapa rutin utilitas yang tidak secara tegas berhubungan dengan grafik, misalnya menyediakan beberapa struktur data sebagai daftar-daftar yang saling terpaut dan beberapa pohon biner. Utilitas-utilitas umum sedemikian, bersama-sama dengan sistem objek disebut GObject, kini telah bermigrasi menjadi pustaka terpisah, GLib, yang dapat digunakan para programer untuk mengembangkan kode yang tidak memerlukan antarmuka grafis.
Platform
GTK mulanya ditargetkan pada Sistem X Window, dan masih menyisakan platform target utamanya. Platform lain yang ditargetkan adalah Microsoft Windows (Windows 2000 dan yang lebih baru, hampir didukung sepenuhnya), DirectFB, dan Quartz (Mac OS X v10.4 dan yang lebih baru, masih dikembangkan).
Tampilan dan citarasa
Pengguna-akhir dapat mengonfigurasi tampilan toolkit-nya, hingga kepada pemberian sejumlah mesin tampilan yang berbeda. Mesin-mesin yang ada yang berupaya mengemulasi tampilan toolkit atau platform populer lainnya seperti Windows 95, Motif, Qt dan NEXTSTEP.
Sejarah
GTK+ 2 adalah pengganti GTK+ 1. Fitur-fitur barunya antara lain render teks yang diperbaiki menggunakan Pango, mesin tema baru, aksesibilitas yang diperbaiki menggunakan Accessibility Toolkit, peralihan sepenuhnya ke Unicode menggunakan string-string UTF-8 dan API yang lebih fleksibel. Tetapi, GTK+ 2 kurang kompatibel dengan GTK+ 1, dan para programer harus menge-port aplikasi ke GTK+ 2.
Mulai versi 2.8, GTK+ 2 bergantung kepada pustaka Cairo untuk merender grafik vektor pada GTK+ 2.
GTK+ 3.0 merupakan pembaruan besar yang dirilis pada bulan Februari 2011 sebagai pengganti dari GTK+ 2. Fitur-fitur utama barunya mencakup pembaruan penanganan perangkat input, API tema baru menggunakan CSS untuk membuat tema, dukungan untuk memilih beberapa backend untuk GDK saat runtime, beberapa widget baru, dan masih banyak lagi.[3]
Huruf '+' pada GTK+ dihilangkan menjadi GTK saja pada saat Hackaton.[4]
GTK 4 yang merupakan versi terbaru dari GTK, dirilis pada Desember 2020. GTK 4 menghadirkan fitur-fitur baru seperti perenderan menggunakan Vulkan, pembaruan untuk API drag-and-drop, dukungan untuk shaders, dan masih banyak lagi.[5]
#include<gtk/gtk.h>intmain(intargc,charargv[]){gtk_init(&argc,&argv);GtkWidget*window=gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_window_set_default_size(GTK_WINDOW(window),400,400);gtk_window_set_tile(GTK_WINDOW(window),"Hello GTK!\nHello World GTK Sample");g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL);gtk_main();return0;}
Penggunaan
Lingkungan yang menggunakan GTK
GNOME didasarkan pada GTK, artinya program-program GNOME menggunakan GTK
Xfce didasarkan pada GTK, meskipun aplikasi-aplikasinya biasanya tidak bergantung kepada banyak pustaka (inilah perbedaan antara sesuatu yang dicap sebagai "program GNOME" atau sebagai "program GTK")
LXDE didasarkan pada GTK, singkatan untuk "Lightweight X11 Desktop Environment"