ValaとGTK +でプログラミングしていると、ValaとGTK +で記述されたアプリケーションで、ウィンドウサイズパラメータなどの状態を保存できるようにする方法を考えたことはありませんか。 それらは私たちが使用するこれらの典型的なケースです gsスキーマ これらのスキームをグラフィカルに管理するこれらの値(このよく知られたアプリケーションdconf-editor)を保存します。
ここで、GraniteライブラリのGranite.Services.Settingsクラスを使用して、これを簡単な手順で複雑にせずに行う方法を示します。
私たちは何が必要なのか?
まず、コードをコンパイルするために、GTK +、Granite、Valaライブラリをインストールする必要があります。 Ubuntu / ElementaryOSでこれを行うには、次のコマンドを使用します。
sudo apt-get install libgtk-3-dev libgranite-dev granite-demo valac
また、Scratch Text Editor(ElementaryOSのデフォルト)、GEdit、Sublime Text + Pluginsなど、Vala / GTK +構文とXMLをサポートするテキストエディターも必要になります。
コード
これがサンプルファイルです。 理解を深めるために、コメントを付けてPASTEにコードを残します。
説明
XMLである必要があり、ORG.APLICACION.GSCHEMA.XMLと呼ばれる必要がある場合のスキーマファイル。 つまり、dconfがそれをスキーマとして認識するためには、ORGとGSCHEMA.XMLの両方が存在する必要があります。 さらに、これらの図をルートにコピーする必要があります。
/usr/share/glib-2.0/schemas/
そして、それらを取得するには、DCONF用にコンパイルする必要があります。このために、次のコマンドを実行します。
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
コンパイル
プログラムをコンパイルするには、ターミナルで次のコマンドを起動する必要があります。
valac --pkg gtk+-3.0 --pkg granite main.vala tutorial.vala settings.vala
そして、次のコマンドでバイナリを実行します。
./main
結論
これは、GLIBを使用してGSCHEMAにAPPの状態を保存するための最良の方法のXNUMXつです。 どんな質問にも喜んでお答えします。
これが私のUbuntuと例のスクリーンショットです:
良い記事ですが、C ++のGTKチュートリアルは悪くありません。 物事は大きく変わりました、公式GTKサイトは2002年からの本を推薦します、私はそれを買うのを間違えました。
DevHelpは、どの本よりも役立ちます。
申し訳ありませんが、C ++ではなく、Cを意味しました。 コードブロックを開くときは、常に「C ++のプロジェクト」を選択しますが、Cでプログラムします。
良い先生、知りたいのですが、そうではないことは知っていますが、実際には、このアプローチを実行するのに十分な頭を打ったので、背景とログイン画面を機関でカスタマイズする必要があります私がユーザーのチームで働いている場所の画像、彼らはDebian 7 Wheezyに基づいたCanaimaと呼ばれるベネズエラのディストリビューションを持っています、ユーザーはLDAPを介して認証し、複数のユーザーが同じPCで作業できるので、複数のユーザーがいる場合があります彼らが壁紙を所有しなければならないセッションでは、チームは技術者の作業を容易にするためにスクリプトによってカスタマイズされ、ポリシーはpuppetmasterサーバーによって注入されます。
私はgsettingsを試しましたが、ログインしているユーザーでのみ機能します。明らかに、まだ達成していないユーザーごとにローカルデータベースに情報を保存します。システム全体に適用され、システム全体に適用される構成を探しています。シングルユーザー。
画像は国の日付などの理由で絶えず変化しているため、単なる画像ではなく、パペットマスターによって各クライアントにアップロードされます。
このようなことが私の場合に当てはまるかどうかはわかりません。
ご挨拶。