著者:ToshioCP
ページ数:210
¥500 → ¥0
この本はGtk+3の入門書です。Gtk+の書籍はバージョンが2までのものが多く、バージョン3の入門書はほとんど見当たらないのが現状です。この本ではほぼ最新のGtk+3をチュートリアル形式で学びます。使用する言語はC言語、チュートリアルの例題はmoonedという名前のスクリーンエディタです。
本書は、Linux上でアプリケーションを作成しようと思っている方にはピッタリの内容です。Gtk+で作成されたアプリケーションにはGnomeデスクトップ、お絵かきソフトgimp、標準的なエディタgeditなど試され済みの良質なアプリが沢山あります。それに加えて、今までのCに加え、C++、Perl、PythonでもGtk+3が使えるようになり、WindowsでもGtk+3アプリが動くようになってきています。Gtk+3の学習はますます広範囲に役立つようになると思います。
本書の第1セクションではアプリケーションの基本を学びます。Gtk+3によるアプリケーションでは、GtkApplicationとGtkApplicationWindowの子オブジェクトを基本にするのが最新の流儀です。そしてg_application_run関数により、アプリケーション起動に関わる面倒なコーディングを大幅に減らすことができるようになりました。また、G_DEFINE_TYPEとG_DECLARE_FINAL_TYPEマクロによりタイプ登録の複雑なコーディングを大幅に減らすこともできるようになりました。そのおかげで、Gladeなどを使わなくても簡単にアプリを作成できるようになっています。このアプリケーション作成の基本部分について、詳しく解説しています。
本書の第2セクションはウィジェットの作成、uiファイルとGtkBuilder、テンプレート、GResourceの活用を解説しています。これらもGtk+でアプリケーションを作成する上での基本的な内容になっています。そして、Gtk+2ではなかった新しいテクニックがたくさん含まれています。
本書の第3セクションはメニューとアクション、アクセラレータを解説しています。メニューの考え方も今までとは違い、アプリケーション・メニューとウィンドウ・メニューに分ける考え方に基づいています。このようなメニューの考え方は本当に新しいので、完全に実現されているのは、Gnomeの新しいデスクトップなど少数です。しかし、今後はこのような考え方が広まっていくのではないかと思います。そして、このセクションではアクションの背後にあるシグナルについても解説しています。シグナルはGtk+3アプリケーションを作成するには欠かせない性質です。
本書の第4セクションはファイル入出力とウィンドウを解説しています。ファイル入出力では、Gtk+3に用意されているGtkFileChooserDialogを使い、簡単にファイル指定をすることができます。複雑なコーディングをせずに簡単にダイアログを実現できます。今回残念ながらスタックは解説からはずしましたが、力のある読者はぜひスタックにも挑戦してほしいと思います。マルチ・ウィンドウよりもスタックの方が見やすい画面を実現できます。
本書の第5、6セクションはクリップボードサポートとCSSです。Gtk+もHTMLのようにCSSをサポートするようになりました。同じようにして、フォント、文字色などを設定できます。フォントなどについては本当はプレファランス・ダイアログを使って設定できると良いのですが、プレファランス・ダイアログは本書では扱いませんでした。
本書の最後にはmoonedの全ソースコードが載っています。moonedのソースコードはLGPLライセンスですので、自由に再配布、改変をすることができます。このソースコードはわずか785行しかありませんが、文字の入力、編集、削除、カット、コピー、ペースト、ファイル入出力をサポートしており、アプリケーションとしての最低限の機能は保持しています。また、ソースコードはインターネット上のGitHubにも公開されていますので、デジタルデータとして入手することも簡単にできます。
本書は、Linux上でアプリケーションを作成しようと思っている方にはピッタリの内容です。Gtk+で作成されたアプリケーションにはGnomeデスクトップ、お絵かきソフトgimp、標準的なエディタgeditなど試され済みの良質なアプリが沢山あります。それに加えて、今までのCに加え、C++、Perl、PythonでもGtk+3が使えるようになり、WindowsでもGtk+3アプリが動くようになってきています。Gtk+3の学習はますます広範囲に役立つようになると思います。
本書の第1セクションではアプリケーションの基本を学びます。Gtk+3によるアプリケーションでは、GtkApplicationとGtkApplicationWindowの子オブジェクトを基本にするのが最新の流儀です。そしてg_application_run関数により、アプリケーション起動に関わる面倒なコーディングを大幅に減らすことができるようになりました。また、G_DEFINE_TYPEとG_DECLARE_FINAL_TYPEマクロによりタイプ登録の複雑なコーディングを大幅に減らすこともできるようになりました。そのおかげで、Gladeなどを使わなくても簡単にアプリを作成できるようになっています。このアプリケーション作成の基本部分について、詳しく解説しています。
本書の第2セクションはウィジェットの作成、uiファイルとGtkBuilder、テンプレート、GResourceの活用を解説しています。これらもGtk+でアプリケーションを作成する上での基本的な内容になっています。そして、Gtk+2ではなかった新しいテクニックがたくさん含まれています。
本書の第3セクションはメニューとアクション、アクセラレータを解説しています。メニューの考え方も今までとは違い、アプリケーション・メニューとウィンドウ・メニューに分ける考え方に基づいています。このようなメニューの考え方は本当に新しいので、完全に実現されているのは、Gnomeの新しいデスクトップなど少数です。しかし、今後はこのような考え方が広まっていくのではないかと思います。そして、このセクションではアクションの背後にあるシグナルについても解説しています。シグナルはGtk+3アプリケーションを作成するには欠かせない性質です。
本書の第4セクションはファイル入出力とウィンドウを解説しています。ファイル入出力では、Gtk+3に用意されているGtkFileChooserDialogを使い、簡単にファイル指定をすることができます。複雑なコーディングをせずに簡単にダイアログを実現できます。今回残念ながらスタックは解説からはずしましたが、力のある読者はぜひスタックにも挑戦してほしいと思います。マルチ・ウィンドウよりもスタックの方が見やすい画面を実現できます。
本書の第5、6セクションはクリップボードサポートとCSSです。Gtk+もHTMLのようにCSSをサポートするようになりました。同じようにして、フォント、文字色などを設定できます。フォントなどについては本当はプレファランス・ダイアログを使って設定できると良いのですが、プレファランス・ダイアログは本書では扱いませんでした。
本書の最後にはmoonedの全ソースコードが載っています。moonedのソースコードはLGPLライセンスですので、自由に再配布、改変をすることができます。このソースコードはわずか785行しかありませんが、文字の入力、編集、削除、カット、コピー、ペースト、ファイル入出力をサポートしており、アプリケーションとしての最低限の機能は保持しています。また、ソースコードはインターネット上のGitHubにも公開されていますので、デジタルデータとして入手することも簡単にできます。
シリーズ一覧
- 同シリーズの電子書籍はありませんでした。
Kindle Unlimitedは、現在30日間無料体験キャンペーンを行っています!
この期間中は料金が980円→0円となるため、この記事で紹介している電子書籍は、すべてこのKindle Unlimited無料体験で読むことが可能です。