Muokataan sivua GTK+

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
{{Perustietoa}}
GTK+ (Gimp ToolKit) on kirjasto graafisen käyttöliittymän toteuttamiseen. GTK:n kehitys alkoi [[GIMP | The GIMP]]-kuvankäsittelyohjelman kehittelyn myötä, [[Qt]]:n lisenssi kun ei vielä silloin ollut tarpeeksi salliva. GTK-kirjastoa käyttäviä ohjelmia voidaan kirjoittaa [[C]]:n ja C++:n lisäksi monilla muilla [[Ohjelmointikielet|ohjelmointikielillä]], ja [[Unix]]-tyylisten käyttöjärjestelmien lisäksi useille muille alustoille (mm. [[Windows]] ja [[Maemo]]) GTK:n lisenssi on [[LGPL]].
{{Kirjasto
| nimi          = GTK+
| kuva          =
| kuvateksti    =
| tekijä        =
| kehittäjä      = The GTK Team
| ensijulkaisu  = 14. elokuuta 1998
| vakaaversio    = 4.0.0
| vakaapvm      = 16. joulukuuta 2020
| kehitysversio  =
| kehityspvm    =
| ohjelmoitu    = [[C]]
| kirjasto      = käyttöliittymäkirjasto
| lisenssi      = [[LGPL]]
| kotisivu      = [https://www.gtk.org/ gtk.org]
| lähdekoodi    =
}}
'''GTK+''' (GIMP ToolKit) on [[kirjasto]] [[GUI|graafisen käyttöliittymän]] toteuttamiseen.  


Sitä käyttäviä ohjelmia voidaan kirjoittaa [[C]]:n ja [[C++]]:n lisäksi monilla muilla [[Ohjelmointikielet|ohjelmointikielillä]], ja [[Unix]]-tyylisten käyttöjärjestelmien lisäksi useille muille alustoille (mm. [[Windows]] ja [[Maemo]]). GTK+:n lisenssi on [[LGPL]]. GTK+:n kehitys alkoi [[GIMP]]-kuvankäsittelyohjelman kehittelyn myötä, koska [[Qt]]-kirjaston lisenssi ei siihen aikaan ollut tarpeeksi salliva.
==GTK -kirjastoa käyttäviä ohjelmia==


GTK+-pakettiin kuuluu [[Glib]]-kirjasto, joka korvaa joitakin standardikutsuja ja toteuttaa hyödyllisiä tietorakenteita, muiden muassa linkitetyn listan. Tiettyjen standardikutsujen korvaaminen uusilla lisää GTK+:n siirrettävyyttä ja jotkut kutsut ovat kokonaan uusia tai epästandardeja Unixeissa, esimerkiksi <tt>g_stderror()</tt>. Joissain funktioissa on lisätty toiminnallisuutta, esimerkkina <tt>g_malloc</tt>, joka laajentaa muistinkäsittelyyn liittyvien virheiden etsintämekanismeja. Koska Gtk+ on tehty kokonaan Gdk:n ja Glibin avulla, sen kääntämiseksi muihin ympäristöihin riittää pelkästään näiden kahden sovittaminen uuteen ympäristöön.
* [[GIMP | The GIMP]]
 
* [[GNOME]]
GTK+ on olioperustainen sovellusohjelmarajapinta. Vaikka se on kirjoitettu kokonaan C-ohjelmointikielellä, se on toteutettu käyttäen luokkia ja liitosfunktioita (engl. callback) eli osoittimia funktioihin.
 
GTK+ perustuu neljään eri projektin kehittämään kirjastoon:
 
* GLib on matalan tason kirjasto. Se sisältää yleisiä rajapintoja ja funktioita esimerkiksi tietorakenteiden ja säikeiden hallintaan sekä tapahtumien käsittelyyn.
* Pango on tekstin renderöintiin tarkoitettu kirjasto, jossa on huomioitu erityisesti tuki eri kielille ja kirjoitusjärjestelmille.
* Cairo on kirjasto kaksiulotteisen grafiikan tuottamiseen.
* ATK on esteettömyyskäyttöliittymäkirjasto, jonka avulla ohjelmat voivat tukea esimerkiksi suurennosta ja vaihtoehtoisia syöttölaitteita.
 
Käyttöliittymän elementtien ulkoasua on GTK+:ssa mahdollista vaihdella erilaisilla teemamoottoreilla sekä niille tehdyillä teemoilla.
 
==Oman GTK-ohjelman kääntäminen==
[[Pkg-config]]illa voi myös näyttää mitä osia [[GTK]]-kirjastoon kuuluu.
 
pkg-config --libs gtk+-2.0
 
Gtk+-2.0 version tuloste on tämän näköinen.
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0
 
Sekä headerit eli otsikkotiedot
pkg-config --cflags gtk+-2.0
 
Jos haluan kääntää GTK-kirjastoa käyttävän C++-lähdekooditiedoston ohjelma.cpp
g++ ohjelma.cpp `pkg-config --libs gtk+-2.0` `pkg-config --cflags gtk+-2.0`
 
==Graafisia kehitystyökaluja==
*[[Anjuta]] - ohjelmointiympäristö (IDE)
*[[Glade]] - käyttöliittymän suunnittelu
 
==GTK+-kirjastoa käyttäviä ohjelmia==
* [[GIMP]]
* [[Gnome]]
* [[Lazarus]]
* [[Lazarus]]


==Katso myös==
==Katso myös==
*[[Qt]]
*[[Qt]]
*[[SDL]]


==Aiheesta muualla==
==Aiheesta muualla==
* [http://zetcode.com/tutorials/gtktutorial/ Opas GTK+-ohjelmointiin]
* [http://www.gtk.org/ Kotisivu]
* [http://www.flug.fi/ohjeita/x-ohjelmointi.html Opas X ja GTK+ ohjelmointiin]
* [http://zetcode.com/tutorials/gtktutorial/ Gtk ohjelmoiti opas]
* [http://www.micahcarrick.com/12-24-2007/gtk-glade-tutorial-part-1.html Opas GTK+- ja Glade-ohjelmointiin]


[[Luokka:Kirjastot]]
[[Luokka:Kirjastot]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)
Noudettu kohteesta ”https://www.linux.fi/wiki/GTK%2B