Programante en Vala kaj GTK +, ni ĉiuj iam scivolis kiel fari programon skribitan en Vala kaj GTK + povos konservi la statojn de la parametroj de grandeco de fenestro kaj aliaj? Ili estas el ĉi tiuj tipaj kazoj, kiujn ni uzas gskemoj por konservi ĉi tiujn valorojn (ĉi tiu konata aplikaĵo dconf-editor), kiu grafike administras ĉi tiujn skemojn.
Nun mi montras al vi kiel fari ĉi tion per simplaj paŝoj kaj sen komplikaĵoj uzante la klason Granite.Services.Settings de la Granita biblioteko.
Kion ni bezonas?
Unue ni bezonas la bibliotekojn GTK +, Granite kaj Vala instalitajn por kompili nian kodon. Por fari tion en Ubuntu / ElementaryOS ni uzas la komandon:
sudo apt-get install libgtk-3-dev libgranite-dev granite-demo valac
Kaj ni ankaŭ bezonos iun ajn tekstredaktilon, kiu subtenas sintakson kaj XML de Vala / GTK + kiel Scratch Text Editor (ElementaryOS defaŭlte), GEdit, Sublime Text + Plugins, ktp.
La kodo
Jen la Ekzemplaj dosieroj. Por pli bona kompreno mi lasas la kodon en PASTE kun komentoj en ili:
Klarigoj
La Schema dosiero, se aŭ se ĝi devas esti XML kaj nomi ORG.APLICACION.GSCHEMA.XML. Tio estas, kaj la ORG kaj GSCHEMA.XML devas esti tie por ke dconf rekonu ĝin kiel skemon. Krome, ĉi tiuj diagramoj devas esti kopiitaj al la itinero:
/usr/share/glib-2.0/schemas/
kaj ili devas esti kompilitaj por ke DCONF prenu ilin, por tio ni ekzekutas la komandon:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
Kompilado
Por kompili nian programon ni devas lanĉi la jenan komandon en terminalo:
valac --pkg gtk+-3.0 --pkg granite main.vala tutorial.vala settings.vala
Kaj rulu la duumaĵon per la komando:
./main
Konkludoj
Ĝi estas unu el la plej bonaj metodoj por savi la staton de nia APP en GSCHEMA per GLIB. Ĉian ajn demandon mi volonte respondos.
Jen ekrankopio de mia Ubuntu kaj la Ekzemplo:
3 komentoj, lasu la viajn
Bona artikolo, kelkaj GTK-lerniloj en C ++ ne malbonas. Aferoj multe ŝanĝiĝis, la oficiala GTK-ejo rekomendas librojn de 2002, mi faris la eraron aĉeti ĝin.
DevHelp helpas pli ol iu ajn libro.
Pardonu, ke mi celis C, ne C ++. Kiam mi malfermas la kodblokojn, mi ĉiam elektas "Projekton en C ++", sed mi programas en C.
Bona tuto, mi ŝatus scii kaj mi scias, ke ĝi ne estas la kazo, sed verdire mi donis al mi sufiĉe da kapbatoj por povi plenumi ĉi tiun aliron, mi bezonas agordi la fonon kaj la ensalutan ekranon kun institucia bildo de kie mi laboras en la teamoj de la uzantoj, ili havas venezuelan distribuon nomatan Canaima, bazitan sur Debian 7 Wheezy, uzantoj aŭtentikigas per LDAP kaj pluraj uzantoj povas labori sur la sama komputilo, do povas esti, ke ekzistas pluraj kunsidoj, en kiuj ili devas posedi la fonon, la teamoj estas adaptitaj per la skripto por faciligi la laboron de la teknikistoj kaj tiam la politikoj estas injektitaj de la marionetista servilo.
Mi provis kun gsettings sed ĝi funkcias nur kun la uzanto, kiu ensalutas, ŝajne ĝi konservas la informojn en loka datumbazo por uzanto, kiun mi ankoraŭ ne atingis, mi serĉas iun agordon, kiu validas por la tuta sistemo kaj ne por unu sola uzanto.
Menciindas, ke la bildo konstante ŝanĝiĝas pro naciaj datoj kaj iu ajn alia kialo, do ĝi ne estas nur bildo, ili estas alŝutitaj de la pupisto ĉe ĉiu kliento.
Mi tute ne scias, ĉu io tia povas esti aplikita al mia kazo.
Salutojn.