DebianLinuxでGTK+3.0のチュートリアルを試してみた感想

Go言語で、GUIを調べていたらGTK+3.0のバインディングがあるそうです。GTK+はバインディングが豊富でスクリプト言語などでも使えます。良い機会なのでDebian LinuxでC言語を使ったWindow表示を試してみました。

Programer’s Notes – GTK Glade C Programming

が初心者向けのチュートリアルで1つの記事の量も少なく、わかりやすいです。

開発環境構築とHelloworld

https://prognotes.net/2015/06/gtk-3-c-program-using-glade-3/

上記チュートリアルは、はaptでgtkライブラリーのインストールやビルド方法も乗っていて簡単にWindowを表示できました。pkg-config によりライブラリーのインクルードやリンケージは自動です。またビルド時に-export-dynamicが必要になります。最初これをつけていなくてビルドがうまく行きませんでした。

GTK+はGUIビルダーGladeがある

GTK+はWin32APIのように、ほぼ全てをテキストエディターで書いていくと思っていたのですが、かなり昔からGUIビルダーのGladeがあり、これでUIを作成しながら、任意のエディターでコードを書いていけます。

Geanyエディター

Geanyは、タグファイル が用意されているので、gtk-3.16.6.c.tags をダウンロードし、[ツール]->[Load Tags]で、タグファイルを読み込むことで、コード補完が出来ました。

gladeファイルの読み込み

GLADEでGUIを作成した場合は、gtk_builder_add_from_file関数で、.gladeファイルを指定できるのでそれで、ソースコードと.gladeファイルの連携が可能になります。main.cを作成して、GLADEで、window_main.gladeを作成し、無事にWindowを作成できました。

APIは、C++のようにオブジェクトがメソッドを持つわけではないため、gtk_object_xxxxのような形になりますが、補完ができたのでそこまでストレスはありませんでした。

GTK+3.0でWindowを表示して、日本語のタイトルをつけれた!

GTK+3.0の開発はかなり軽い

WindowsのHyper-V仮想環境でDebian+LXDE で動かしていますが、GUIビルダーもエディターのGeanyもホストの環境と同じように快適に動かせています。Ubuntu をデフォルトでインストールすると非常に重いので、先入観でGTKの開発は重そうなイメージを持っていましたが、超軽量でした。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA