Pemrograman di Vala dan GTK +, kita semua pernah bertanya-tanya bagaimana membuat aplikasi yang ditulis dalam Vala dan GTK + dapat menyimpan status parameter ukuran jendela dan lainnya? Mereka adalah kasus tipikal yang kami gunakan gschemas.dll untuk menyimpan nilai-nilai ini (aplikasi dconf-editor terkenal ini) yang secara grafis mengelola skema ini.
Sekarang saya menunjukkan kepada Anda bagaimana melakukan ini dalam langkah-langkah sederhana dan tanpa komplikasi menggunakan kelas Granite.Services.Settings dari perpustakaan Granite.
Apa yang kita butuhkan?
Pertama kita perlu menginstal perpustakaan GTK +, Granite dan Vala untuk mengkompilasi kode kita. Untuk melakukan ini di Ubuntu / ElementaryOS kami menggunakan perintah:
sudo apt-get install libgtk-3-dev libgranite-dev granite-demo valac
Dan kami juga memerlukan editor teks apa pun yang mendukung sintaks Vala / GTK + dan XML seperti Editor Teks Awal (bawaan OS Elementary), GEdit, Sublime Text + Plugin, dll.
Kode
Berikut adalah file Contoh. Untuk pemahaman yang lebih baik, saya meninggalkan kode di PASTE dengan komentar di dalamnya:
Penjelasan
File Skema, jika atau jika harus XML dan diberi nama ORG.APLICACION.GSCHEMA.XML. Artinya, ORG dan GSCHEMA.XML harus ada di sana agar dconf mengenalinya sebagai skema. Selain itu, diagram berikut harus disalin ke rute:
/usr/share/glib-2.0/schemas/
dan mereka perlu dikompilasi agar DCONF dapat mengambilnya, untuk ini kami menjalankan perintah:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
Mengompilasi
Untuk mengkompilasi program kita, kita harus menjalankan perintah berikut di terminal:
valac --pkg gtk+-3.0 --pkg granite main.vala tutorial.vala settings.vala
Dan jalankan biner dengan perintah:
./main
Kesimpulan
Ini adalah salah satu metode terbaik untuk menyimpan status APP kami di GSCHEMA menggunakan GLIB. Segala jenis pertanyaan akan dengan senang hati saya jawab.
Berikut tangkapan layar dari Ubuntu saya dan Contohnya:
Artikel bagus, beberapa tutorial GTK di C ++ bagus. Banyak hal telah berubah banyak, situs resmi GTK merekomendasikan buku dari tahun 2002, saya membuat kesalahan dengan membelinya.
DevHelp membantu lebih dari semua buku.
Maaf maksud saya C, bukan C ++. Ketika saya membuka blok kode, saya selalu memilih "Proyek dalam C ++", tetapi saya memprogram dalam C.
Baik tuto, saya ingin tahu dan saya tahu bukan itu masalahnya, tetapi sebenarnya saya telah memberikan diri saya pukulan yang cukup untuk dapat melakukan pendekatan ini, saya perlu menyesuaikan latar belakang dan layar masuk dengan kelembagaan gambar tempat saya bekerja dalam tim pengguna, mereka memiliki distro Venezuela bernama Canaima, berdasarkan Debian 7 Wheezy, pengguna mengotentikasi melalui LDAP dan beberapa pengguna dapat bekerja pada PC yang sama, jadi mungkin ada beberapa kasus sesi di mana mereka harus memiliki wallpaper, tim disesuaikan dengan skrip untuk memfasilitasi pekerjaan teknisi dan kemudian kebijakan dimasukkan oleh server puppetmaster.
Saya telah mencoba dengan gsettings tetapi hanya berfungsi dengan pengguna yang masuk, tampaknya ini menyimpan informasi dalam database lokal per pengguna yang belum saya capai, saya mencari beberapa konfigurasi yang berlaku untuk seluruh sistem dan bukan untuk satu pengguna.
Perlu disebutkan bahwa gambar tersebut terus berubah karena tanggal nasional dan alasan lainnya, jadi ini bukan hanya gambar, tetapi juga diunggah oleh dalang ke setiap klien.
Saya tidak tahu apakah hal seperti ini dapat diterapkan pada kasus saya.
Salam.