Ohjelmoimalla Valassa ja GTK +: ssa olemme kaikki miettineet, miten Valaan ja GTK +: een kirjoitettu sovellus voi tallentaa ikkunakoon parametrien tilat ja muut? Ne ovat näitä tyypillisiä tapauksia, joita käytämme gschemas tallentaa nämä arvot (tämä tunnettu sovellus dconf-editor), joka hallitsee graafisesti näitä järjestelmiä.
Nyt näytän sinulle, miten tämä tehdään yksinkertaisilla vaiheilla ja ilman komplikaatioita käyttämällä Graniitti-kirjastosta-luokkaa.
Mitä me tarvitsemme?
Ensin meidän on asennettava GTK +, Granite ja Vala -kirjastot koodin kokoamiseksi. Tätä varten Ubuntu / ElementaryOS: ssa käytämme komentoa:
sudo apt-get install libgtk-3-dev libgranite-dev granite-demo valac
Tarvitsemme myös minkä tahansa tekstieditorin, joka tukee Vala / GTK + -syntaksia ja XML: ää, kuten Scratch Text Editor (ElementaryOS-oletus), GEdit, Sublime Text + Plugins jne.
Koodi
Tässä ovat esimerkkitiedostot. Paremman ymmärtämisen vuoksi jätän koodin PASTE-kommentteihin:
Selitykset
Schema-tiedosto, jos tai jos sen on oltava XML, ja sen on oltava nimeltään ORG.APLICACION.GSCHEMA.XML. Toisin sanoen sekä ORG: n että GSCHEMA.XML: n on oltava paikalla, jotta dconf tunnistaa sen skeemana. Lisäksi nämä kaaviot on kopioitava reitille:
/usr/share/glib-2.0/schemas/
ja ne on koottava, jotta DCONF voi ottaa heidät, tämän vuoksi suoritamme komennon:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
Koostaminen
Ohjelmamme kokoamiseksi meidän on käynnistettävä seuraava komento terminaalissa:
valac --pkg gtk+-3.0 --pkg granite main.vala tutorial.vala settings.vala
Suorita binääri komennolla:
./main
Päätelmät
Se on yksi parhaista tavoista tallentaa sovelluksemme tila GSCHEMA: ssa GLIB: n avulla. Kaikenlaisiin kysymyksiin vastaan mielelläni.
Tässä on kuvakaappaus Ubuntustani ja esimerkki:
Hyvä artikkeli, muutamat GTK-oppaat C ++: ssa eivät ole huonoja. Asiat ovat muuttuneet paljon, virallinen GTK-sivusto suosittelee kirjoja vuodesta 2002, tein virheen ostamalla sen.
DevHelp auttaa enemmän kuin mikään kirja.
Anteeksi tarkoitin C: tä, ei C ++. Kun avaan koodilohkot, valitsen aina "Projektin C ++", mutta ohjelmoin C: ssä.
Hyvä ohjaaja, haluaisin tietää ja tiedän, että näin ei ole, mutta todellisuudessa olen antanut itselleni tarpeeksi pääniskuja voidakseni toteuttaa tämän lähestymistavan, minun on mukautettava tausta ja kirjautumisnäyttö institutionaalisella kuva siitä, missä työskentelen joukkueiden käyttäjillä, heillä on Venezuelan distro nimeltä Canaima, joka perustuu Debian 7 Wheezy -ohjelmaan, käyttäjät todentavat LDAP: n kautta ja useat käyttäjät voivat työskennellä samalla tietokoneella, joten voi olla, että istuntoja on useita Joukkueiden on omistettava taustakuva, komentosarja mukauttaa joukkueet teknikoiden työn helpottamiseksi, ja sitten nukketeatteripalvelin injektoi käytännöt.
Olen kokeillut gsettings-sovellusta, mutta se toimii vain kirjautuvan käyttäjän kanssa, ilmeisesti se tallentaa tiedot paikalliseen tietokantaan käyttäjää kohti, jota en ole vielä saavuttanut. Etsin joitain kokoonpanoja, jotka koskevat koko järjestelmää eikä yksi käyttäjä.
On syytä mainita, että kuva muuttuu jatkuvasti kansallisten päivämäärien ja muiden syiden takia, joten se ei ole vain kuva, vaan nukenjohtaja lähettää ne jokaiselle asiakkaalle.
Minulla ei ole aavistustakaan, voidaanko jotain tällaista soveltaa tapaukseeni.
Tervehdys.