Ero sivun ”GTK+” versioiden välillä

Kohteesta Linux.fi
Siirry navigaatioon Siirry hakuun
p (fix)
 
(10 välissä olevaa versiota 4 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
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]].
+
GTK+ (GIMP ToolKit) on [[kirjasto]] [[GUI|graafisen käyttöliittymän]] toteuttamiseen.  
  
==GTK -kirjastoa käyttäviä ohjelmia==
+
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.
  
* [[GIMP | The GIMP]]
+
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.
* [[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://www.gtk.org/ Kotisivu]
 
* [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.micahcarrick.com/12-24-2007/gtk-glade-tutorial-part-1.html Opas GTK+- ja Glade-ohjelmointiin]
  
 
[[Luokka:Kirjastot]]
 
[[Luokka:Kirjastot]]

Nykyinen versio 25. helmikuuta 2014 kello 04.45

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`

Graafisia kehitystyökaluja[muokkaa]

  • Anjuta - ohjelmointiympäristö (IDE)
  • Glade - käyttöliittymän suunnittelu

GTK+-kirjastoa käyttäviä ohjelmia[muokkaa]

Katso myös[muokkaa]

Aiheesta muualla[muokkaa]