Programmējot Vala un GTK +, mēs visi kādreiz esam domājuši, kā panākt, lai Vala un GTK + rakstīta lietojumprogramma spētu saglabāt loga lieluma parametru stāvokļus un citus? Tie ir šie tipiskie gadījumi, kurus mēs izmantojam gschemas lai saglabātu šīs vērtības (šo plaši pazīstamo lietojumprogrammu dconf-editor), kas grafiski pārvalda šīs shēmas.
Tagad es jums parādīšu, kā to izdarīt vienkāršās darbībās un bez sarežģījumiem, izmantojot Granītu. Pakalpojumi. Iestatījumu klase no bibliotēkas Granīts.
Kas mums vajadzīgs?
Vispirms mums ir jāinstalē bibliotēkas GTK +, Granite un Vala, lai apkopotu kodu. Lai to izdarītu Ubuntu / ElementaryOS, mēs izmantojam komandu:
sudo apt-get install libgtk-3-dev libgranite-dev granite-demo valac
Mums būs nepieciešams arī jebkurš teksta redaktors, kas atbalsta Vala / GTK + un XML sintaksi, piemēram, Scratch Text Editor (ElementaryOS noklusējums), GEdit, Sublime Text + Plugins utt.
Kods
Šeit ir failu piemēri. Lai labāk izprastu, es kodu atstāju PASTE ar komentāriem:
Paskaidrojumi
Shēmas failam, ja tas ir vai nav, jābūt XML un tā nosaukums ir ORG.APLICACION.GSCHEMA.XML. Tas nozīmē, ka gan ORG, gan GSCHEMA.XML ir jābūt, lai dconf to atpazītu kā shēmu. Turklāt šīs diagrammas ir jākopē maršrutā:
/usr/share/glib-2.0/schemas/
un tie ir jāapkopo, lai DCONF tos paņemtu, tāpēc mēs izpildām komandu:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
Sastādīšana
Lai apkopotu mūsu programmu, terminālā ir jāuzsāk šāda komanda:
valac --pkg gtk+-3.0 --pkg granite main.vala tutorial.vala settings.vala
Un palaidiet bināro komandu:
./main
Secinājumi
Tā ir viena no labākajām metodēm, lai saglabātu mūsu APP stāvokli GSCHEMA, izmantojot GLIB. Uz jebkura veida jautājumiem, uz kuriem es labprāt atbildēšu.
Šeit ir mana Ubuntu ekrānuzņēmums un piemērs:
Labs raksts, dažas GTK apmācības C ++ versijā ir labas. Lietas ir ļoti mainījušās, oficiālajā GTK vietnē tiek rekomendētas grāmatas no 2002. gada, es kļūdījos, pērkot tās.
DevHelp palīdz vairāk nekā jebkura grāmata.
Atvainojiet, es domāju C, nevis C ++. Atverot kodblokus, es vienmēr izvēlos "A project in C ++", bet es programmēju C.
Labs tuto, es gribētu zināt, un es zinu, ka tas tā nav, bet patiesībā es esmu devis sev pietiekami daudz sitienu ar galvu, lai varētu īstenot šo pieeju, man jāpielāgo fons un pieteikšanās ekrāns ar institucionālu attēls, kur es strādāju lietotāju komandās, viņiem ir Venecuēlas izplatītājs ar nosaukumu Canaima, kura pamatā ir Debian 7 Wheezy, lietotāji autentificējas, izmantojot LDAP, un vienā un tajā pašā datorā var strādāt vairāki lietotāji, tāpēc var gadīties, ka ir vairāki sesijas, kurās viņiem ir fona tapetes, komandas skripts pielāgo, lai atvieglotu tehniķu darbu, un pēc tam politikas injicē leļļu pārziņa serveris.
Esmu mēģinājis ar gsettings, bet tas darbojas tikai ar lietotāju, kurš ir pieteicies, acīmredzot tas saglabā informāciju par lietotāju lokālajā datu bāzē, kuru vēl neesmu sasniedzis. Es meklēju kādu konfigurāciju, kas attiecas uz visu sistēmu, nevis viens lietotājs.
Ir vērts pieminēt, ka attēls pastāvīgi mainās valsts datumu un citu iemeslu dēļ, tāpēc tas nav tikai attēls, bet leļļu meistars tos augšupielādē katram klientam.
Man nav ne jausmas, vai kaut ko tādu var attiecināt uz manu lietu.
Sveicieni.