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+-pakettiin kuuluu [[Glib]]-kirjasto, joka korvaa joitakin standardikutsuja ja toteuttaa hyödyllisiä tietorakenteita, muiden muassa linkitetyn listan. Tiettyjen standardikutsujen korvaaminen uusilla lisaa GTK+:n siirrettävyyttä ja jotkut kutsut ovat kokonaan uusia tai epästandardeja muissa unixeissa, esimerkiksi g_stderror(). Joissain funktioissa on lisätty toiminnallisuutta, esimerkkina g_malloc, 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 niiden sovittaminen uuteen ympäristöön.  
 
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.  


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+ 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:
==Graafisia käyttöliittymäkehitin ohjelmia==
* [[Glade3]] graafinen käyttöliittymäkehitin
* [[Anjuta]] graafinen käyttöliittymäkehitin ja C-kielen muokkain


* GLib on matalan tason kirjasto. Se sisältää yleisiä rajapintoja ja funktioita esimerkiksi tietorakenteiden ja säikeiden hallintaan sekä tapahtumien käsittelyyn.
==GTK+-kirjastoa käyttäviä ohjelmia==
* 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
* [[GIMP | The GIMP]]
pkg-config --cflags gtk+-2.0
* [[GNOME]]
 
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://www.gtk.org/ Kotisivu]
* [http://zetcode.com/tutorials/gtktutorial/ Opas GTK+-ohjelmointiin]
* [http://zetcode.com/tutorials/gtktutorial/ Opas GTK+-ohjelmointiin]
* [http://www.flug.fi/ohjeita/x-ohjelmointi.html Opas X ja GTK+ ohjelmointiin]
* [http://www.flug.fi/ohjeita/x-ohjelmointi.html Opas X ja GTK+ ohjelmointiin]
* [http://www.micahcarrick.com/12-24-2007/gtk-glade-tutorial-part-1.html Opas GTK+- ja Glade-ohjelmointiin]
* [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