Ero sivun ”GTK+” versioiden välillä
pEi muokkausyhteenvetoa |
p (Kirjasto malline) |
||
(16 välissä olevaa versiota 7 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
GTK+ | {{Perustietoa}} | ||
{{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 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+ 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.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] | |||
[[Luokka:Kirjastot]] | [[Luokka:Kirjastot]] |
Nykyinen versio 26. joulukuuta 2020 kello 04.48
GTK+ | |
---|---|
Kehittäjä(t) | The GTK Team |
Ensijulkaisu | 14. elokuuta 1998 |
Vakaa versio | 4.0.0 / 16. joulukuuta 2020 |
Ohjelmoitu | C |
Kirjasto | käyttöliittymäkirjasto |
Lisenssi | LGPL |
Kotisivu | gtk.org |
GTK+ (GIMP ToolKit) on kirjasto graafisen käyttöliittymän toteuttamiseen.
Sitä käyttäviä ohjelmia voidaan kirjoittaa C:n ja C++:n lisäksi monilla muilla 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 lisää GTK+:n siirrettävyyttä ja jotkut kutsut ovat kokonaan uusia tai epästandardeja 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 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+ 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[muokkaa]
Pkg-configilla 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`