Při programování ve Vale a GTK + jsme se všichni někdy zajímali, jak zajistit, aby aplikace napsaná ve Vala a GTK + dokázala ukládat stavy parametrů velikosti okna a dalších? Jsou to tyto typické případy, které používáme gschémata uložit tyto hodnoty (tato známá aplikace dconf-editor), která graficky spravuje tato schémata.
Nyní vám ukážu, jak to udělat v jednoduchých krocích a bez komplikací pomocí třídy Granite.Services.Settings z knihovny Granite.
Co potřebujeme?
Nejprve musíme mít nainstalované knihovny GTK +, Granite a Vala, abychom mohli zkompilovat náš kód. K tomu v Ubuntu / ElementaryOS používáme příkaz:
sudo apt-get install libgtk-3-dev libgranite-dev granite-demo valac
A budeme také potřebovat jakýkoli textový editor, který podporuje syntaxi Vala / GTK + a XML, jako je Scratch Text Editor (výchozí ElementaryOS), GEdit, Sublime Text + Plugins atd.
Kód
Zde jsou ukázkové soubory. Pro lepší pochopení nechávám kód v PASTE s komentáři:
Vysvětlení
Soubor schématu, pokud nebo pokud musí být XML a musí být volán ORG.APLICACION.GSCHEMA.XML. To znamená, že ORG i GSCHEMA.XML musí existovat, aby jej dconf rozpoznal jako schéma. Kromě toho musí být tyto diagramy zkopírovány do trasy:
/usr/share/glib-2.0/schemas/
a je třeba je zkompilovat, aby je DCONF vzal, proto provedeme příkaz:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
Kompilace
Abychom mohli zkompilovat náš program, musíme v terminálu spustit následující příkaz:
valac --pkg gtk+-3.0 --pkg granite main.vala tutorial.vala settings.vala
A spusťte binární soubor pomocí příkazu:
./main
Závěry
Je to jedna z nejlepších metod k uložení stavu naší APP v GSCHEMA pomocí GLIB. Na jakoukoli otázku rád odpovím.
Zde je screenshot mého Ubuntu a příkladu:
Dobrý článek, pár GTK tutoriálů v C ++ není špatných. Věci se hodně změnily, oficiální stránka GTK doporučuje knihy z roku 2002, udělal jsem chybu, že jsem si je koupil.
DevHelp pomáhá víc než kterákoli kniha.
Omlouvám se, že jsem myslel C, ne C ++. Když otevírám blokovací bloky, vždy zvolím „Projekt v C ++“, ale programuji v C.
Dobrý učitel, rád bych věděl a vím, že tomu tak není, ale ve skutečnosti jsem si dal dost úderů hlavy, abych mohl tento přístup provést, musím přizpůsobit pozadí a přihlašovací obrazovku s institucionálním obrazem toho, kde pracuji v týmech uživatelé, mají venezuelské distro zvané Canaima, založené na Debianu 7 Wheezy, uživatelé se autentizují přes LDAP a několik uživatelů může pracovat na stejném PC, takže se může stát, že existuje několik relací, ve kterých musí vlastní tapetu, týmy jsou přizpůsobeny skriptem, aby usnadnily práci techniků, a poté jsou politiky vloženy serverem loutkáře.
Snažil jsem se s gsettings, ale funguje to pouze s uživatelem, který se přihlašuje, zjevně ukládá informace v místní databázi na uživatele, které jsem dosud nedosáhl, hledám nějakou konfiguraci, která se vztahuje na celý systém a ne na jednoho uživatele.
Stojí za zmínku, že obraz se neustále mění kvůli národním datům a jakémukoli jinému důvodu, takže nejde pouze o obraz, nahraje je loutkář každému klientovi.
Netuším, zda lze něco takového použít na můj případ.
Zdravím.