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:
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:
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.
Oprostite, mislio sam na C, a ne na C ++. Kad otvorim blokove koda, uvijek odaberem "Projekt na C ++", ali programiram na C.
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.