Vala + GTK + 3 è Granitu (salvate valori in dconf)

Programmendu in Vala è GTK +, tutti noi ci semu mai dumandati cumu fà chì una applicazione scritta in Vala è GTK + sia capace di salvà i stati di i parametri di dimensione di a finestra è altri? Sò di questi casi tipichi chì usamu gschema per salvà questi valori (sta famosa applicazione dconf-editor) chì gestisce graficamente questi schemi.

Avà vi mostru cumu fà questu in passi semplici è senza cumplicazioni cù a classe Granite.Services.Settings da a biblioteca di Granite.

Chì avemu bisognu?

Prima ci vole à avè e biblioteche GTK +, Granitu è ​​Vala installate per compilà u nostru còdice. Per fà questu in Ubuntu / ElementaryOS usamu u cumandimu:

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

È averemu ancu bisognu di qualsiasi editore di testu chì supporti Vala / GTK + è sintassi XML cum'è Scratch Text Editor (ElementaryOS default), GEdit, Sublime Text + Plugins, etc.

U codice

Eccu l'Esempiu di fugliali. Per una megliu capiscitura lasciu u codice in PASTE cù cummenti in elli:

main.vala
tutoriale.vala
paràmetri.vala
org.tutorial.gschema.xml

Spiegazioni

U schedariu Schema, se o se deve esse XML è esse chjamatu ORG.APLICACION.GSCHEMA.XML. Hè cusì, sia l'ORG sia GSCHEMA.XML devenu esse lì per dconf di ricunnosce lu cum'è schema. Inoltre, questi diagrammi devenu esse copiati in u percorsu:

/usr/share/glib-2.0/schemas/

è anu bisognu à esse compilati per DCONF per piglià, per questu eseguemu u cumandimu:

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

Cumpilazione

Per compilà u nostru prugramma duvemu lancià u cumandimu seguente in un terminal:

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

E run u binariu cù u cumandimu:

./main

CONCLUSIONES

Hè unu di i migliori metudi per salvà u statu di a nostra APP in GSCHEMA cù GLIB. Ogni tipu di dumanda seraghju felice di risponde.

Eccu una screenshot di u mo Ubuntu è l'Esempiu:

snap-TUtorial


U cuntenutu di l'articulu aderisce à i nostri principii di etica edituriale. Per signalà un errore cliccate quì.

3 cumenti, lasciate i toi

Lasciate u vostru cummentariu

U vostru indirizzu email ùn esse publicatu.

*

*

  1. Responsabile di i dati: Miguel Ángel Gatón
  2. Scopu di i dati: Cuntrolla SPAM, gestione di cumenti.
  3. Legitimazione: U vostru accunsentu
  4. Cumunicazione di i dati: I dati ùn seranu micca cumunicati à terzi, eccettu per obbligazione legale.
  5. Archiviazione di dati: Base di dati ospitata da Occentus Networks (UE)
  6. Diritti: In ogni mumentu pudete limità, recuperà è cancellà e vostre informazioni.

  1.   Raul P. dijo

    Bon articulu, uni pochi di tutoriali GTK in C ++ sò boni. E cose sò cambiate assai, u situ ufficiale GTK ricumanda libri da u 2002, aghju fattu l'errore di cumprà.

    DevHelp aiuta più di qualsiasi libru.

    1.    Raul P. dijo

      Scusate mi vulia dì C, micca C ++. Quandu apru i codici, sceltu sempre "Un prugettu in C ++", ma prugramu in C.

  2.   minaccia dijo

    Bonu tutu, mi piacerebbe sapè è so chì ùn hè micca u casu, ma in verità mi sò datu abbastanza colpi di testa per pudè realizà questu approcciu, aghju bisognu di persunalizà u fondu è a schermata di login cun un istituziunale maghjina di induve travagliu in e squadre di l'utenti, anu una distro venezuelana chjamata Canaima, basata nantu à Debian 7 Wheezy, l'utenti si autentificanu via LDAP è parechji utilizatori ponu travaglià nantu à u listessu PC, allora pò esse u casu chì ci sò parechji sessioni in i quali devenu avè u carta da parati, e squadre sò persunalizate da u script per facilità u travagliu di i tecnichi è poi e pulitiche sò injectate da u servitore puppetmaster.

    Aghju pruvatu cù gsettings ma funziona solu cù l'utilizatore chì accede, apparentemente salva l'infurmazioni in una basa di dati lucale per utilizatore chì ùn aghju micca ancu realizatu, cercu qualchì cunfigurazione chì s'applica à tuttu u sistema è micca à un solu utilizatore.

    Vale a pena ammintà chì l'immagine hè in costante mutazione per via di e date naziunali è di qualsiasi altra ragione, dunque ùn hè micca solu una maghjina, sò caricate da u burattone per ogni cliente.

    Ùn aghju micca idea se qualcosa di simile pò esse applicata à u mo casu.
    Saluti.