GTK (ツールキット)
![]() | |
開発元 | GNOME Foundation |
---|---|
初版 | 1998年4月14日 (26年前) (1998-04-14) |
最新版 | 4.14.6[1] ![]() |
リポジトリ |
![]() |
対応OS | クロスプラットフォーム |
種別 | ウィジェット・ツールキット |
ライセンス | LGPL |
公式サイト | gtk![]() |
テンプレートを表示 |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Free_and_open-source-software_display_servers_and_UI_toolkits.svg/220px-Free_and_open-source-software_display_servers_and_UI_toolkits.svg.png)
GTK (以前は GTK+[2], The GIMP Toolkit) は、クロスプラットフォームのウィジェット・ツールキット(GUIツールキット)である。当初は、GIMPの実装のために開発され、現在は、GNOMEデスクトップ環境のツールキット等として広く利用されている。
GTKはGNUプロジェクトの一部であり、GNU LGPLの元で開発されているオープンソースなフリーソフトウェアである。
GTKアプリケーションは、GNOMEに限らずKDEなどのGTKベースでないデスクトップ環境でも動作する。GNOMEライブラリを使用することにより、GNOMEデスクトップ環境のさまざまな機能を使用したアプリケーションを開発することができるが、GTKだけでアプリケーションを構成することも可能。
GTKは、主にFreeBSDやLinuxディストリビューションといったオープンソースのOS向けのソフトウェアに多く利用されているが、WindowsやmacOSにも移植されている。
2019年、「GTK」に改名することが決まった[3]。
プログラミング言語
Qtと違ってGTKはC言語を使うが、オブジェクト指向のパラダイムで普通デザインする。また、公式にC++ (gtkmm)、Perl (gtk2-perl)、Python (PyGTK)、C#(Gtk#)、Java (Java-GNOME)、JavaScript、Vala、非公式にFortran (gtk-fortran)、Ruby (Ruby/Gtk2)、PHP (PHP-GTK)、Pascal、Lua、Haskell、FreeBASICといった言語でもバインディングを用いることにより開発が可能である[4]。
テーマ(ルックアンドフィール)
ユーザーがGTKの見た目を変えられる。これはテーマエンジンを切り替えることで実現されていて、多くのテーマが提供されている[5]。
これらのテーマの中にはmacOSのAquaやWindowsやMotifやQt等の他の有名なツールキットやプラットホームをまねた見た目を提供するのもある。
歴史
Linux/Unix
GTKは当初、Motifの代替として、GIMPのために設計され、用いられた。Peter MattisはMotifに失望し、彼自身のGUIツールキット、GIMP toolkitが書かれた。これはGIMP 0.60のリリースでMotifを置き換えることに成功した[6]。最終的にGTKは書き直され、オブジェクト指向となり、GTK+に名前が変更された[7]。これはGIMPの0.99リリースで最初に使われた。GTKはその後、GNOME Foundationによってメンテナンス対応がなされGNOMEデスクトップ環境で使われるようになった。
GTK 2.0.0リリースシリーズは、Pangoを使った改善されたテキストのレンダリング新しいテーマエンジンやさらに柔軟なAPIなどを含んでいた。バージョン2.8から、GTK 2はベクターグラフィックスの描画のためのライブラリとしてCairoに依存するようになっている。
GTK 3.0.0は、修正されたインプットデバイスの取り扱いや、CSSのような構文で書かれたテーマのサポート、他の開かれているGTKアプリケーションからの情報受け取り機能などを含んでいる。
macOS
macOSでは、Quartzバックエンド[8]のGTKを利用することができる。
Windows
- GTK 2.24.10と3.6.4のあと、インストーラー付きのWindows向け開発はGNOMEによって中止された。Windows上のMSYS2をインストールするのが、実際にGTKを使うためにはよい手段である[9]。
- GTK 2.24.10と3.6.4はインターネット上で利用可能だが、バグが多く実際のバージョンよりも限られたものとなっている[10]。
- 64ビット版Windows向けのバージョンはTom Schoonjansによって準備され、2.24.32と3.22.30を利用することができる[11]。
GTK2
GTK2とはGTK1の次のバージョンのGTKとして開発されたツールキットである。Pangoによる多言語テキスト出力、新テーマエンジン、Accessibility Toolkit(英語版)(ATK)によるアクセシビリティサポートの向上、UTF-8によるUnicode環境への移行などがされている。GTK2はGTK1と互換性がないので、GTK1用のプログラムをGTK2環境で動かすにはGTK2用にソースコード等を修正する必要がある。いくつかのアプリケーションは軽量さや組み込みアプリケーションに適しているなどの理由からオリジナルバージョンを使いつづけGTK1のままで使われているのもある。
インプットメソッドが必要な日本語などの言語のためにimmoduleというプラグインスタイルのフレームワークが用意されており、XIMやIIIMFを利用するための仕組みも、それぞれこのimmoduleの1つとして実装されている。
GTK2を利用したソフトウェア
![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Gimp2-2.png/220px-Gimp2-2.png)
- GIMP
- Inkscape
- Mozilla Firefox
- Mozilla Thunderbird
- Sylpheed (メールソフト)
- Web (ウェブブラウザ)
- 風博士 (ウェブブラウザ)
- mikutter (Twitterクライアント)
- 各種GNOME 2アプリケーション - GNOME環境はGTKをベースにしており、GNOMEアプリケーションはツールキットとしてGTKを使用している。
GTK2 immodule のさまざまな実装
- im-canna - かんなのimmodule
- im-freewnn - FreeWnnのimmodule
- im-perl - Perlで入力メソッドを記述するためのimmodule
- im-euro - 'euro'をユーロ記号に変換して、欧米人に入力メソッドをわかりやすく説明するためのimmodule
- im-ja - im-cannaベースに、手書き入力などさまざまな日本語入力に対応
- im-ime - Windows専用のimmodule。Windows上のIMEでのインライン日本語入力に対応
- im-xim - XIMのimmodule
- im-iiim - IIIMFのimmodule
- im-uim - uimのimmodule
出典
- ^ "4.14.6"; 閲覧日: 2024年8月27日; 出版日: 2024年8月26日.
- ^ Bassi, Emmanuele (2019年2月6日). “Project rename to "GTK"”. mail.gnome.org. GNOME mailinglist. 2019年2月7日閲覧。
- ^ GTK+ renamed to GTK
- ^ Language Bindings
- ^ GNOME ART
- ^ “LinuxWorld - Where did Spencer Kimball and Peter Mattis go?”. April 17, 1999時点のオリジナルよりアーカイブ。2013年8月19日閲覧。
- ^ “What is the + in GTK+?” (2011年). 2012年3月26日時点のオリジナルよりアーカイブ。2014年3月18日閲覧。
- ^ Projects/GTK/OSX
- ^ GTK Download: Windows
- ^ GTK+ for Windows Runtime Environment
- ^ GTK+ for Windows Runtime Environment Installer (fork from http://gtk-win.sourceforge.net): tschoonj/GTK-for-Windows-Runtime-Environment-Installer
関連項目
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/FLOSS_logo.svg/41px-FLOSS_logo.svg.png)
外部リンク
- The GTK Project - A free and open-source cross-platform widget toolkit 公式ウェブサイト
- GNOME – Simple, beautiful, elegant. GNOMEオフィシャルサイト
- 日本GNOMEユーザー会 / Japan GNOME Users Group(APIリファレンス・チュートリアル等の日本語訳)
- 表示
- 編集
| |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
低レベル |
| ||||||||||||||||||||||||||||||||||||||||
高レベル |
| ||||||||||||||||||||||||||||||||||||||||
|
| ||||||
---|---|---|---|---|---|---|
コミュニティ |
| ![]() | ||||
アプリケーション |
| |||||
テクノロジー |
| |||||
関連記事 |
| |||||
|