Vala + GTK + 3 i granit (vrijednosti sačuvajte u dconf)

Programirajući u Vali i GTK +, svi smo se ikad pitali kako napraviti aplikaciju napisanu na Vali i GTK + da može sačuvati stanja parametara veličine prozora i druge? Oni su od tih tipičnih slučajeva koje mi koristimo gsheme za spremanje ovih vrijednosti (ovaj poznati program dconf-editor) koji grafički upravlja tim shemama.

Sada ću vam pokazati kako to učiniti jednostavnim koracima i bez komplikacija pomoću klase Granite.Services.Settings iz biblioteke Granite.

Što trebamo?

Prvo moramo instalirati biblioteke GTK +, Granite i Vala kako bismo kompilirali naš kôd. Da bismo to učinili u Ubuntu / ElementaryOS koristimo naredbu:

sudo apt-get install libgtk-3-dev libgranite-dev granite-demo valac

Također će nam trebati bilo koji uređivač teksta koji podržava sintaksu Vala / GTK + i XML, poput Uređivača ogrebotina teksta (zadani ElementaryOS), GEdit, Sublime Text + Dodaci itd.

Kod

Evo primjera datoteka. Za bolje razumijevanje ostavljam kod u PASTE s komentarima u njima:

glavni.vala
udžbenik.vala
postavke.vala
org.tutorial.gschema.xml

Objašnjenja

Datoteka sheme, ako ili mora biti XML i mora se zvati ORG.APLICACION.GSCHEMA.XML. Odnosno, i ORG i GSCHEMA.XML moraju biti tu da bi ih dconf prepoznao kao shemu. Osim toga, ovi dijagrami moraju se kopirati na rutu:

/usr/share/glib-2.0/schemas/

i treba ih kompilirati da ih DCONF preuzme, za to izvršavamo naredbu:

sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

Sastavljanje

Da bismo kompajlirali naš program, u terminalu moramo pokrenuti sljedeću naredbu:

valac --pkg gtk+-3.0 --pkg granite main.vala tutorial.vala settings.vala

I pokrenite binarnu naredbu:

./main

Zaključci

To je jedna od najboljih metoda za spašavanje stanja našeg APP-a u GSCHEMA pomoću GLIB-a. Na bilo koje pitanje rado ću odgovoriti.

Evo snimke zaslona mog Ubuntu-a i Primjer:

snap-Tutorial


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Raul P. dijo

    Dobar članak, nekoliko tutorijala za GTK na C ++-u nije loše. Stvari su se puno promijenile, službena stranica GTK-a preporučuje knjige iz 2002, pogriješio sam što sam ih kupio.

    DevHelp pomaže više od bilo koje knjige.

    1.    Raul P. dijo

      Oprostite, mislio sam na C, a ne na C ++. Kad otvorim blokove koda, uvijek odaberem "Projekt na C ++", ali programiram na C.

  2.   prijetnja dijo

    Dobri učitelju, volio bih znati i znam da nije tako, ali u stvari zadao sam si dovoljno udaraca glavom da bih mogao provesti ovaj pristup, trebam prilagoditi pozadinu i zaslon za prijavu s institucionalnom slikom gdje radim u timovima korisnici imaju venezuelski distro distrikt nazvan Canaima, zasnovan na Debianu 7 Wheezy, korisnici se autentificiraju putem LDAP-a i nekoliko korisnika može raditi na istom računalu, pa može biti tako da postoji nekoliko sesija u kojima moraju posjedujući pozadinu, timovi su prilagođeni skriptom kako bi olakšali rad tehničarima, a zatim politike ubrizgava lutkarski poslužitelj.

    Pokušao sam s gsettingsima, ali to funkcionira samo s korisnikom koji se prijavljuje, očito sprema podatke u lokalnu bazu podataka po korisniku što još nisam postigao, tražim neku konfiguraciju koja se odnosi na cijeli sustav, a ne na jednog korisnika.

    Vrijedno je spomenuti da se slika neprestano mijenja zbog nacionalnih datuma i bilo kojeg drugog razloga, pa to nije samo slika, a lutkar ih prenosi svakom klijentu.

    Nemam pojma može li se tako nešto primijeniti na moj slučaj.
    Pozdrav.