Ero sivun ”GTK+” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (GTK:n kuuluvat kirjastot ovat)
p (Kirjasto malline)
 
(2 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
GTK+ (GIMP ToolKit) on [[kirjasto]] [[GUI|graafisen käyttöliittymän]] toteuttamiseen.  
{{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.  
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.  
Rivi 9: Rivi 27:
GTK+ perustuu neljään eri projektin kehittämään kirjastoon:
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.
* 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.
* Pango on tekstin renderöintiin tarkoitettu kirjasto, jossa on huomioitu erityisesti tuki eri kielille ja kirjoitusjärjestelmille.
    Cairo on kirjasto kaksiulotteisen grafiikan tuottamiseen.
* 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.
* 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.
Käyttöliittymän elementtien ulkoasua on GTK+:ssa mahdollista vaihdella erilaisilla teemamoottoreilla sekä niille tehdyillä teemoilla.
Rivi 44: Rivi 62:


==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]

Nykyinen versio 26. joulukuuta 2020 kello 04.48

Linux.fi-wikissä artikkelit käsittelevät yleensä aihettaan siltä osin, kuin se koskee Linuxia ja avoimia/vapaita ohjelmistoja. Yleisluontoisemman artikkelin tästä aiheesta löydät tietosanakirja Wikipediasta.
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`

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]