GTK (forritasafn)

frá Wikipedia, ókeypis alfræðiorðabókinni
Fara í siglingar Fara í leit
GTK

GTK merki
Gtk3 kynning
gtk3-demo sýnir stjórntæki
Grunngögn

verktaki GTK liðið [1]
Útgáfuár 1998 [2]
Núverandi útgáfa 4.2.1[3]
( 4. maí 2021 )
stýrikerfi Unix , Linux , macOS (beta), Windows
forritunarmál C[4]
flokki GUI tól
Leyfi LGPL ( ókeypis hugbúnaður )
Þýskumælandi
www.gtk.org
GTK3 búnaður verksmiðju

GTK (áður GTK + , [5] GIMP Toolkit ) er ókeypis GUI tól undir LGPL . GTK inniheldur margar stjórntæki sem hægt er að nota til að búa til grafískt notendaviðmót (GUI) fyrir hugbúnað.

Bókasafnið var upphaflega þróað af Peter Mattis, Spencer Kimball og Josh MacDonald til að búa til notendaviðmót fyrir grafíkforritið GIMP fyrir utan Motif . Á meðan er GTK notað af skrifborðsumhverfinu Gnome , Xfce , LXDE , Cinnamon , Pantheon og Budgie auk fjölda annarra forrita og er því við hliðina á Qt farsælasta GUI verkfærasettið fyrir X Window System .

Saga og þróun

Gamalt merki

GTK er skrifað á C forritunarmálinu. Fyrsta útgáfan af GTK + birtist í apríl 1998. [2] GTK + innihélt nokkrar hjálparvenjur til að leysa grunn forritunarverkefni, svo sem að geyma ýmis gögn. Þetta er mjög tímafrekt fyrir forritarann, sérstaklega með endurtekinni þróun á forritum. Fyrstu útgáfur af GTK + innihéldu gagnagerð fyrir tengda lista , tvöfaldar tré eða „vaxandi“ strengi. Að auki var kerfi þróað með GTK + til að forrita í C hlutbundið . Þessi verkfæri reyndust einnig gagnleg fyrir forrit án grafísks notendaviðmóts og voru því síðar flutt í sérstakt bókasafn, GLib bókasafn C aðgerða . Hlutbundið kerfi hefur verið útvistað til GObject bókasafnsins og teiknunaraðferðir á lágum stigum í GDK bókasafnið (GTK + teiknibúnaður). Hið síðarnefnda gerir GTK + kleift að keyra á sama hátt yfir palla, þar á meðal Windows , X Window System og macOS .

GTK + 2

GTK + 2 útgáfan fékk nýjar, endurbættar aðgerðir til að fletta texta með hjálp Pango bókasafnsins, nýrri þemavél , sveigjanlegri API og nýrri tegund bókasafna ( ATK ) til að bæta aðgengi verkfærakistunnar fyrir fatlað fólk, með Reading hugbúnaðinum er hægt að taka á stækkunarverkfærum og öðrum inntaksbúnaði. GTK + 2 er ekki samhæft við GTK + 1, þannig að núverandi forrit þurfti að flytja.

Frá útgáfu 2.8 GTK + notar vektor-undirstaða bókasafn Kaíró , sem notar vélbúnaður hröðun fyrir bræðslu þegar það er mögulegt. GTK + 2.24.33 er síðasta útgáfan af 2.x röðinni. [6]

GTK + 3

Útgáfa 3.0 kom út 10. febrúar 2011. [7] Margir aðgerðir sem flokkast sem úreltar hafa verið fjarlægðar og núverandi viðmót hafa verið bætt. GTK + 3 er ekki afturábak samhæft við GTK + 2.x. Hins vegar er hægt að setja upp bókasöfn beggja útgáfanna samhliða.

GTK + 3,0 inniheldur meðal annars, nýtt tengi fyrir teikna tækjum, sem nú er algjörlega byggt á Kaíró , a CSS undirstaða theming vél sem einnig gerir líflegur ástand umbreytingum, endurbætt án möguleika, ný renna skipta búnaður , umsókn bekknum , stuðningur við mörg benditæki (fjölbendi) og táknræn tákn sem geta breytt lit þeirra eftir stöðu þeirra. Innri mannvirki hafa verið aðskilin frá almenna viðmótinu og falin, þannig að það verður auðveldara í framtíðinni að gera breytingar án þess að þurfa að rjúfa viðmótið. Að auki eru nokkrir stuðningar GDK studdir samtímis innan sama bókasafns. [8] Hingað til voru mismunandi bókasöfn nauðsynleg fyrir þetta.

GTK + 3.2 kynnti tvo nýja bakenda: einn fyrirWayland skjáþjóninn og HTML5 bakendi sem kallast Broadway og með því er hægt að stjórna GTK + forritum lítillega í vafranum í gegnum netið. [9]

GTK + 3.4 styður multi-touch og slétta skrun og er einnig fáanlegt fyrir Windows. [10]

GTK + 3.6 styður CSS hreyfimyndir og óskýrir skugga. Útgáfa 3.6.4 er síðasta opinbera útgáfan fyrir Windows 32-bita og 64-bita. [11]

GTK + 3.8 styður innfæddur Wayland í mikilvægum hlutum. [12]

GTK + 3.10 styður Wayland með tilraunum og bætir skjáinn fyrir háupplausnarskjái. [13]

GTK + 3.12 kynnir popover. Þessar teiknimyndasögublöðrur er hægt að nota sem hjálpartæki. Stuðningur við Wayland hefur verið bættur. [14]

GTK + 3.14 styður multi-touch bendingar. [15] [16]

GTK + 3.16 styður flutning glugga í gegnum OpenGL . Nýi GtkGLArea stjórnunarþátturinn gerði það einnig mögulegt að samþætta 3D hluti beint í forritaviðmót . [17] [18]

GTK + 3.18 styður opinberlega Wayland, eftirmann X Window System, sem grundvöll Gnome 3.18. [19]

GTK + 3.20 samþættir stafsetningarathugunina við gspell og bætir CSS þema. [20]

GTK + 3.22 er síðasta stöðuga útgáfan af GTK + 3 og verður viðhaldið sem LTS útgáfa í þrjú ár. Helstu eiginleikar þessarar útgáfu eru nýju Flatpak gáttirnar til að auðvelda uppsetningu hugbúnaðar. [21]

GTK + 3.24 var tilkynnt í júní 2018 fyrir haustið 2018 sem allra síðasta útgáfan af GTK + 3, þar sem GTK 4.0 tafðist. Eins og er árið 2021 er hér 3.24,28. Útgáfa 3.24 er nú einnig viðhaldið sem langtíma LTS útgáfa. [22]

GTK 4.0 er í undirbúningi með óstöðuga 3.9x röð. Í mars 2017 var Scene Graph Kit (GSK) bætt við útgáfu 3.90. Það útfærir senurit og sér um myndmynd myndarinnar. Í febrúar 2019 var tilkynnt að GTK 4.0 myndi fjarlægja plúsmerkið („+“) af nafninu. [5]

GTK 4

Í GTK 4 eruWayland og Vulkan studd meira og betra. Meira aðgengi hefur einnig verið hrint í framkvæmd. Gnome 40 er samræmd hliðstæða Linux hliðarinnar. [23] Fedora 34 verður fyrsta stóra Linux afbrigðið sem GTK 4 með Gnome 40 mun kynna í apríl 2021. [24]

GTK 4.0 var formlega hleypt af stokkunum 16. desember 2020. Hápunktar eru endurbætur á OpenGL renderer og nýjum Vulkan renderer með hraðari GPU stuðningi, auk betri macOS og Windows stuðnings meðal margs annars. [25]

GTK 4.2 var kynnt 30. mars 2021 með nýja OpenGL renderer NGL sem sjálfgefið. [26]

macOS

GTK er hægt að nota á macOS í gegnum kvars bakendann, [27] höfn í X Window System. [28] Með GTK 4.0 hefur stuðningur við macOS verið stórbættur.

Windows

  • Eftir GTK 2.24.10 og 3.6.4 var Windows þróun með uppsetningarforriti hjá Gnome hætt. Mælt er með því að setja upp MSYS2 pakkakerfið frá Gnome á Windows. [29] MSYS2 styður nú þegar GTK 4. [30]
  • GTK 2.24.10 og 3.6.4 eru enn fáanlegir á netinu en eru gallaðri en núverandi útgáfur í Linux. [31] [32]
  • Fyrir Windows 64-bita (frá og með janúar 2021), 2.24.33 (eins og Linux) og 3.24.24 (eins og Linux) er nú fáanlegt með vinnu Tom Schoonjans. [33]
  • Með Windows 10 Fall Creators Update er GTK 3 nú einnig fáanlegt þar í WSL. Leiðbeiningar um uppsetningu forrita með Windows eru fáanlegar í GTK samfélaginu. [34] GTK 4 er fáanlegur fyrir útgáfu 20H2 og 21H1 í WSL, allt eftir því hvaða Linux dreifingu er valið.

Forritunardæmi

Klassíska leiðin til að forrita með GTK er að skilgreina fyrst eiginleika grafísku þáttanna sem notaðir eru, flokka þá síðan og tengja þá við tiltekna atburðarmeðlimi (einn mögulegur atburður væri til dæmis smella á hnapp ). Hins vegar eru til grafísk hönnunarverkfæri fyrir GTK yfirborð eins og Glade eða Stetic í MonoDevelop , sem geta sparað þér fyrstu tvö skrefin, stækkað GTK með frumgerðargetu og gert það mögulegt að gera breytingar á yfirborði forrits án þess að Að þurfa að breyta frumkóða hugbúnaðarins.

Kynning á þessari dagskrá

Dæmigerð halló heimsforrit sem sýnir gluggann til hægri gæti litið svona út:

 #innihalda <gtk / gtk.h>

/ * Hringingaraðgerð - hringt þegar ýtt er á hnappinn * /
ógilt on_button_clicked (GtkButton * hnappur, gpointer gögn)
{
  g_print ( "hnappur '% s' smellt! \ n " , gtk_button_get_label ( hnappur ));
  gtk_main_quit (); / * Hættir forritinu * /
}

int main ( int argc , char * argv [])
{
  GtkWidget * gluggi ;
  GtkWidget * hnappur ;

  / * Frumstilltu GTK + * /
  gtk_init ( & argc , & argv );

  / * Búðu til aðalglugga, stilltu titil, stilltu ramma bil * /
  gluggi = gtk_window_new ( GTK_WINDOW_TOPLEVEL );
  gtk_window_set_title ( GTK_WINDOW ( gluggi ), "Halló heimur!" );
  gtk_container_set_border_width ( GTK_CONTAINER ( gluggi ), 10 );

  / * Búðu til hnapp og bættu honum við gluggann * /
  hnappur = gtk_button_new_with_label ( "Halló Wikipedia!" );
  gtk_container_add ( GTK_CONTAINER ( gluggi ), hnappur );

  / * Tengdu merki með hringingaraðgerðum * /
  g_signal_connect ( gluggi , "eyðileggja" , G_CALLBACK ( gtk_main_quit ), NULL );
  g_signal_connect ( hnappur , „smellt“ , G_CALLBACK ( on_button_clicked ), NULL );

  / * Sýna glugga og alla undirþætti hans * /
  gtk_widget_show_all ( gluggi );

  / * Byrjaðu aðalviðburðarlykkju * /
  gtk_main ();

  skila 0 ;
}


Fyrst er nýr gluggi búinn til í aðalrútínunni og titill hans og rammafjarlægðin til innri þáttanna eru stillt. Síðan er hnappur með viðeigandi merkimiða búinn til og settur inn í gluggann. Gluggi er alltaf líka ílát , þ.e. frumefni sem getur innihaldið aðra stjórnunarþætti ( búnaður ).

Þá eyðileggja merki , sem glugginn búnaður z. B. myndast þegar þú smellir á „Loka“ hnappinn, tengdur við GTK fallið gtk_main_quit , sem stöðvar forritið. Hnappurinn sem áður var búinn til er einnig tengdur við hringingaraðgerð sem heitir on_button_clicked og er útfærð hér að ofan. Til að tengja merki við hringingaraðgerðir eru GLib aðgerðir notaðar beint, en nafnforskeytið er g_ í stað gtk_ .

Þar sem öll stjórntæki eru upphaflega ósýnileg verða þau að vera sýnileg, annaðhvort fyrir sig eða öll saman, með því að hringja í gtk_widget_show_all . Þegar hringt er í gtk_main er aðalviðburðarlykkjan hafin, sem bíður eftir atburðum og dreifir þeim síðan á samsvarandi merki.

Aðgerðin sem er framkvæmd þegar smellt er á hnappinn sýnir til fyrirmyndar hvernig hægt er að nálgast stjórnunarhluta símtala með því að lesa upp hnappamerkið og setja það út í venjulegu framleiðslunni. Forritinu er síðan slitið. Önnur færibreytan, gögn, í hringingaraðgerðinni geta innihaldið öll gögn sem voru tilgreind þegar tengingin var gerð. Í þessu dæmi er þó aðeins gildið NULL , þ.e.a.s ekkert, gefið þar.

Dæmi um forritið er gcc gtkhello.c -o gtkhello `pkg-config gtk+-3.0 --cflags --libs` með því að hringja í gcc gtkhello.c -o gtkhello `pkg-config gtk+-3.0 --cflags --libs` innan möppunnar sem skráin er í.

Tengingar við önnur forritunarmál

Þar sem GTK er hreint C bókasafn er auðvelt að tengja það við mörg önnur forritunarmál. Þegar um er að ræða hlutbundin forritunarmál eru GObjects ekki notaðir ; venjulega er hægt að nota GTK hluti þar eins og innfæddir hlutir forritunarmálsins. Forritunarmálið Vala notar GObject beint sem hlutakerfi og þarf því ekki keyrslutíma bókasafn fyrir tungumálatenginguna.

Halló heimur í Perl
forritunarmál Nafn tengingar Dæmi um forrit
C ++ gtkmm Inkscape , Solang, GParted , GNote
python PyGTK (allt að GTK 2.24.0) [35] OpenShot, gPodder, Ubuntu Tweak
PyGObject (frá GTK 3.0.0) [35] Pitivi, Lollypop, GNOME Music, Meld
C # ( mónó ) GTK # Tomboy , F-Spot , Banshee , Pinta , MonoDevelop , gbrainy
Vala - Shotwell , Geary, Corebird, Elementary OS , libunity
JavaScript Gjs Gnome Shell , GNOME kort, Polari
Í boði en notað sjaldnar:
Ada GtkAda
Algeng Lisp cl-gtk2 [36]
D. gtkD [37] Tilix
FreeBASIC GladeToBac [38] Data2App, [39] GTK + tóbak [40]
Fortran gtk-fortran [41]
Farðu Go-GTK [42]
Haskell Gtk2Hs
Java java-gnome GNOME skipting
Júlía Gtk.jl
Markmið-C CoreGTK [43]
OCaml LablGTK
Pascal LCL Lasarus
Perla gtk2-perla [44] slimrat, odot, shutter
PHP PHP-GTK Phoronix prófunarsvíta
Ruby Ruby-GNOME2 Alexandríu
Ryð Gtk-rs [45] systemd-manager [46]
Tcl Gnocl

Grafískur stíll

Útlit verkfærakistunnar er að mestu leyti stillanlegt fyrir notendur. Það eru ýmis þemu til að velja úr.

Hreint útlit

Dæmi fyrir Clearlooks 2.20

Frá 2005 til 2014 notaði GTK Clearlooks sem þema. [47]

Adwaita

Dæmi fyrir Adwaita

Adwaita hefur verið nýtt staðlað efni GTK síðan um mitt ár 2014. [48]

Umhverfi sem notar GTK

Skrifborðsumhverfið Gnome , Cinnamon , MATE , Xfce , LXDE , Pantheon frá Elementary OS og ROX skrifborðinu er sjálft byggt á GTK, sem þýðir að gluggastjórnendur þeirra nota GTK þegar þeir teikna gluggaþætti og tilheyrandi forrit voru þróuð með GTK.

GTK er ekki bara bundið við þessi skjáborð; Hægt er að keyra hvaða GTK forrit sem er í öðru skjáborðsumhverfi, svo sem KDE eða CDE , svo framarlega sem GTK bókasöfnin eru sett upp á kerfinu. Til að bæta sjón samþættingu í Qt-undirstaða skrifborð (td KDE), það er gtk-qt, meðal annarra. [49] GTK er einnig fáanlegt fyrir Windows og macOS (native / X11) og gerir þannig mögulegt að skrifa forrit sem hægt er að flytja tiltölulega auðveldlega á milli Unix, Windows og macOS.

Sjá einnig

bókmenntir

Vefsíðutenglar

Wikibooks: GTK with Builder - náms- og kennsluefni

Einstök sönnunargögn

  1. ^ GTK + verkefnið: Team. Sótt 16. október 2011 .
  2. a b Vísitala á /Public/gimp/gtk/v1.0. Sótt 11. ágúst 2014 .
  3. niðurhal.gnome.org .
  4. Gtk Open Source verkefnið á Open Hub: Tungumálasíða . Í: Open Hub . (sótt 18. júlí 2018).
  5. ^ A b Emmanuele Bassi: Verkefni endurnefna í "GTK". Í: Gnome póstlisti . 6. febrúar 2019, opnaður 7. febrúar 2019 .
  6. https://ftp.fau.de/gnome/sources/gtk+/2.24/gtk+-2.24.33.news
  7. GTK + 3.0.0 gefið út. Sótt 16. október 2011 .
  8. Margir bakendi fyrir GTK +. Sótt 16. október 2011 .
  9. Sýning á stuðningi HTML5 Broadway. Sótt 16. október 2011 .
  10. https://www.heise.de/newsticker/meldung/GTK-3-4-mit-Multitouch-und-Windows-Unterstuetzung-1484971.html
  11. https://www.heise.de/newsticker/meldung/Neue-Versionen-von-GTK-GLib-und-Clutter-1716414.html
  12. heise á netinu: Gtk + 3.8 veitir Wayland stuðning. Sótt 4. desember 2020 .
  13. heise online: Gtk + 3.10 með bættum Wayland stuðningi. Sótt 4. desember 2020 .
  14. Thorsten Leemhuis: Skoðað: Gnome 3.12. Sótt 4. desember 2020 .
  15. Dr Oliver Diedrich: Linux. Sótt 4. desember 2020 .
  16. heise online: GUADEC: Wayland stuðningur við Gnome. Sótt 4. desember 2020 .
  17. Útgáfublöð GNOME 3.16. Sótt 4. desember 2020 .
  18. heise online: Linux desktop: New Gnome sýnir skilaboð efst. Sótt 4. desember 2020 .
  19. heise online: Linux desktop Gnome 3.18 gefið út með stuðningi Google Drive. Sótt 4. desember 2020 .
  20. heise online: GUI verkfærasett GTK + 3,20 bætir CSS þema. Sótt 4. desember 2020 .
  21. heise online: GUI verkfærasett GTK + 3,22 færir Flatpak gáttir. Sótt 4. desember 2020 .
  22. https://www.phoronix.com/scan.php?page=news_item&px=GTK-3.24-Coming-This-Fall
  23. https://www.heise.de/news/Gnome-Toolkit-fuer-GUI-GTK-4-0-erscheint-nach-4-Jahren-und-ist-grunderneuert-4990565.html
  24. https://www.computerbase.de/2021-03/gnome-40-release-candidate-erschienen/
  25. https://www.phoronix.com/scan.php?page=news_item&px=GTK-4.0-útgefið
  26. https://www.phoronix.com/scan.php?page=news_item&px=GTK-4.2-útgefið
  27. Verkefni / GTK / OSX - GNOME Wiki! Sótt 4. desember 2020 .
  28. https://www.gtk.org/download/macos.php
  29. https://www.gtk.org/download/windows.php
  30. https://packages.msys2.org/base/mingw-w64-gtk4
  31. GTK + fyrir Windows Runtime umhverfi. Opnað 4. desember 2020 .
  32. ^ GTK +. Sótt 4. desember 2020 .
  33. Tom Schoonjans: tschoonj / GTK-for-Windows-Runtime-Environment-Installer. 2. desember 2020, opnaður 4. desember 2020 .
  34. Windows undirkerfi fyrir Linux: Uppsetning WSL og uppsetning Gnome undir Windows 10. Sótt 4. desember 2020 .
  35. a b [TILKYNNING] PyGTK 2.24.0. 8. apríl 2011, sótt 15. október 2011 .
  36. cl-gtk2 í CLiki. Sótt 1. apríl 2015 .
  37. gtkD. Sótt 15. október 2011 .
  38. GladeToBac. Sótt 15. október 2011 .
  39. Data2App. Sótt 15. október 2011 .
  40. GTK + tóbak. Sótt 15. október 2011 .
  41. gtk-fortran. Sótt 15. október 2011 .
  42. ^ Go-GTK. Sótt 6. apríl 2012 .
  43. CoreGTK. Abgerufen am 27. März 2020 (englisch).
  44. gtk-perl. Abgerufen am 1. Juli 2017 (englisch).
  45. Gtk-rs. Abgerufen am 20. Dezember 2016 (englisch).
  46. systemd-manager. Abgerufen am 11. Dezember 2020 (englisch).
  47. Default Theme Progress , 28. Februar 2005
  48. A new default theme for GTK+ , 13. Juni 2014
  49. gtk-qt-engine. Abgerufen am 17. November 2012 (englisch).