メインメニューを開く

GTK+ (The GIMP Toolkit) は、クロスプラットフォームウィジェット・ツールキット(GUIツールキット)である。当初は、GIMPの実装のために開発され、現在は、GNOMEデスクトップ環境のツールキット等として広く利用されている。

GTK+
GTK logo.svg
開発元 GNOME Foundation
初版 1998年4月14日(21年前) (1998-04-14
最新版 3.24.8 / 2019年4月10日(2か月前) (2019-04-10
最新評価版 3.94 / 2018年6月28日(11か月前) (2018-06-28
リポジトリ gitlab.gnome.org/GNOME/gtk.git
対応OS クロスプラットフォーム
種別 ウィジェット・ツールキット
ライセンス LGPL
公式サイト www.gtk.org
テンプレートを表示
GTK+ usage in Linux-based systems, e.g. with Wayland

GTK+はGNUプロジェクトの一部であり、GNU LGPLの元で開発されているオープンソースフリーソフトウェアである。

GTK+アプリケーションは、GNOMEに限らずKDEなどのGTK+ベースでないデスクトップ環境でも動作する。GNOMEライブラリを使用することにより、GNOMEデスクトップ環境のさまざまな機能を使用したアプリケーションを開発することができるが、GTK+だけでアプリケーションを構成することも可能。

GTK+は、主にFreeBSDLinuxディストリビューションといったオープンソースのOS向けのソフトウェアに多く利用されているが、WindowsmacOSにも移植されている。

2019年、「GTK」に改名することが決まった[1]

目次

プログラミング言語編集

Qtと違ってGTK+はC言語を使うが、オブジェクト指向のパラダイムで普通デザインする。また、公式にC++ (gtkmm)、Perl (gtk2-perl)、Python (PyGTK)、C#(Gtk#)、Java (Java-GNOME)、JavaScriptVala、非公式にFortran (gtk-fortran)、Ruby (Ruby/Gtk2)、PHP (PHP-GTK)、PascalLuaHaskellFreeBASICといった言語でもバインディングを用いることにより開発が可能である[2]

テーマ(ルックアンドフィール)編集

ユーザーがGTK+の見た目を変えられる。これはテーマエンジンを切り替えることで実現されていて、多くのテーマが提供されている[3]。これらのテーマの中にはmacOSAquaWindowsMotifQt等の他の有名なツールキットやプラットホームをまねた見た目を提供するのもある。

GTK+2編集

GTK+2とはGTK+1の次のバージョンのGTKとして開発されたツールキットである。Pangoによる多言語テキスト出力、新テーマエンジン、Accessibility Toolkit英語版(ATK)によるアクセシビリティサポートの向上、UTF-8によるUnicode環境への移行などがされている。GTK+2はGTK+1と互換性がないので、GTK+1用のプログラムをGTK+2環境で動かすにはGTK+2用にソースコード等を修正する必要がある。いくつかのアプリケーションは軽量さや組み込みアプリケーションに適しているなどの理由からオリジナルバージョンを使いつづけGTK+1のままで使われているのもある。

インプットメソッドが必要な日本語などの言語のためにimmoduleというプラグインスタイルのフレームワークが用意されており、XIMIIIMFを利用するための仕組みも、それぞれこのimmoduleの1つとして実装されている。

GTK+2を利用したソフトウェア編集

 
Xfce4上で動作しているGIMP 2.0

GTK+2 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

関連項目編集

参照編集

外部リンク編集