GTKとは? わかりやすく解説

GTK+

読み方:ジーティーケープラス
正式名称:GIMP Tool Kit

最初はGIMPを実装するために開発されたウィジェットセットだったものに、拡張と改良を重ね汎用的なGUIツールキットとしたもの。
コアライブラリであるGLib、多言語処理ライブラリであるPango、アクセシビリティライブラリであるATKの3つのコンポーネントから構成される。UNIX/X11とWindowsで動作するマルチプラットフォームライブラリ。
GTK+はC言語ライブラリだが、他プログラミング言語も多くサポートされ、30近いプログラミング言語向けにライブラリが用意されている。
統合デスクトップ環境「GNOME」の基盤として使われている。
関連見出し
GUI
ライブラリ
GIMP
GNOME
Qt
関連URL
GTK+(http://www.gtk.org)

GTK (ツールキット)

(GTK から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/05/15 13:23 UTC 版)

GTK
GTKバージョン4 (tk4-widget-factory)
作者 スペンサー・キンボール(英語版)、ピーター・マティス(英語版)
開発元 GNOMEプロジェクト、eXperimental Computing Facility(英語版)
初版 1998年4月14日 (28年前) (1998-04-14)
最新版 4.22.4[1]  - 2026年4月30日 (15日前) [±]
リポジトリ
プログラミング
言語
C言語, CSS[2]
対応OS クロスプラットフォーム
種別 ウィジェット・ツールキット
ライセンス LGPLv2
公式サイト gtk.org
テンプレートを表示

GTK (以前は GTK+[3]、またはGIMP Toolkit[4]) は、グラフィカルユーザインタフェース (GUI) を作るためのクロスプラットフォームのウィジェット・ツールキットである[5]。WaylandおよびX Window System向けの最も人気のあるツールキットの1つである[6]。

オープンソースな自由ソフトウェアであり、GNU LGPLでライセンスされているため、自由ソフトウェアとプロプライエタリソフトウェアの両方で使用できる。

GTKチームは定期的に新しいバージョンをリリースしている[7]。GTK 4とGTK 3はメンテナンスされているが、GTK 2はサポートが終了している[8]。GTK 1はCinePaintプロジェクトによって独立してメンテナンスされている[9]。

ソフトウェアアーキテクチャ

GTKツールキット
GTK の簡略化されたソフトウェアアーキテクチャ。Pango、GDK(英語版)、ATK(英語版)、GIO(英語版)、Cairo、GLib
GDKにはX11、Wayland、Broadway(HTTP)、Quartz、GDIのバックエンドが含まれており、レンダリングにはCairoを使用している。新しいSceneGraphは現在開発中である。

GTKライブラリには、グラフィカルコントロール要素(ウィジェット)のセットが含まれている。バージョン3.22.16には、186個のアクティブなウィジェットと36個の非推奨のウィジェットが含まれている[10]。GTKは、C言語で書かれたオブジェクト指向のウィジェットツールキットであり、GObject(GLibオブジェクトシステム)を使用している。GTKは主にX11やWaylandで使用されるが、Microsoft Windows(Windows APIを使用)やmacOS(Quartzを使用)など、他のプラットフォームでも動作する。BroadwayというHTML5バックエンドも存在する[11][12]。

GTKは、描画されるウィジェットの外観を変更するように設定できる。これは、さまざまな表示エンジンを利用して行われる。使用中のプラットフォーム上のネイティブウィジェットの外観をエミュレートしようとする表示エンジンもいくつか存在する。

2005年にリリースされたバージョン2.8以降、GTKはグラフィカルコントロール要素ウィジェットのほとんどをCairoを使用してレンダリングするようになった[13]。GTKバージョン3.0以降、すべてのレンダリングはCairoを使用して行われる[14] 。

2018年1月26日、DevConf.cz(英語版)で、マティアス・クラセン(Matthias Clasen)はGTK 4開発の現状について概要を説明し、GTK 3でのレンダリングと入力の仕組み、GTK 4(>3.90)での変更点とその理由について詳細に説明した[13]。2019年2月6日、GTK 4ではプロジェクト名から「+」が削除されることが発表された[14]。

GTK Drawing Kit (GDK)

GDKは、基盤となるウィンドウシステムおよびグラフィックスシステムによって提供される低レベル関数のラッパーとして機能する。

GTK Scene Graph Kit (GSK)

GSKは、GTKのレンダリングおよびシーングラフ(英語版)APIである。GSKは、グラフィカルコントロール要素(ウィジェット)とレンダリングの間に位置する。GSKは、最終的に2017年3月にリリースされたGTKバージョン3.90に統合された。

GtkBuilder

GtkBuilderを使用すると、コードを記述せずにユーザインターフェイスを設計できる。インターフェイスは、手動、またはGUIデザイナーによって生成されるExtensible Markup Language(XML)ファイルで記述され、実行時に読み込まれ、オブジェクトが自動的に作成される。ユーザインターフェイスの記述は、使用されているプログラミング言語に依存しない。

言語バインディング

C++、Genie、JavaScript、Perl、Python、Valaなど、C以外の言語からGTKを使用するための言語バインディングが利用可能である。

バックエンド

GTKはさまざまなバックエンドをサポートしており、システムや環境に応じてGTKアプリケーションを表示するさまざまな方法を提供する。GTKバックエンドの例は次の通りである。

  • Wayland – Linuxシステムで使用される、X11のモダンな代替。
  • X11 – X.Orgディスプレイサーバーを使用するLinuxシステムのデフォルト。
  • Win32 – WindowsでGTKアプリケーションを実行することができる。
  • Quartz – macOSのサポート。
  • Broadway – HTML5とWebSocketを使用して、WebブラウザーでGTKアプリケーションを実行できる[11][12]。

開発ツール

GUIデザイナ

Cambalache Interface Designer

GTKには複数のGUIデザイナが存在する。以下にGTK GUIデザイナの一部を紹介する。

  • Cambalache – Gladeの後継で、GTK 4をサポートしている[15]。
  • Glade – GTK組み込みのGUI記述形式であるGtkBuilderをサポートしている(現在、アクティブにメンテナンスされていない)。
  • Gazpacho – Pythonで書かれたGTKツールキット用のGUIビルダー[16]。
  • Crow Designer – 独自のGuiXml形式とGuiLoaderライブラリを使用している[17]。
  • Stetic – MonoDevelopの一部で、Gtk#向けである。
  • Gambas(バージョン2.0以降、BASICベース)
  • Xojo
  • Lazarus(LinuxではデフォルトでGTK 2とのインターフェイスとなる)

GTKインスペクタ

GTKインスペクタ

GTKインスペクタはGTKに組み込まれたインタラクティブなデバッグツールであり、UI要素の検査と変更、CSSの変更のテスト、ウィジェット構造のリアルタイム分析を行うことができる。Control + Shift + IまたはControl + Shift + Dのショートカットを使用するか、GTK_DEBUG=interactive環境変数を設定することで有効にできる[18]。GTKバージョン3.14で導入された[19][20]。

機能

  • インタラクティブなデバッグ
  • リアルタイムのCSSテストと変更
  • 詳細な検査のためのウィジェットの拡大
  • UI構造の分析とオブジェクトプロパティの検査
  • 環境変数によるカスタマイズ可能な表示設定
  • 詳細なオブジェクト検査(タイプ、状態、プロパティ、CSS、アクションなど)
  • グローバルアプリケーション情報の表示
  • CSSルールのデバッグ
  • レンダリングパイプラインの記録と検査

開発

GTKは主にGNOMEプロジェクトによって開発されている。GNOMEプロジェクトはGNOME開発プラットフォームとGNOMEデスクトップ環境も開発している[21]。GTKは主にC言語で書かれており[22]、多くの言語バインディングが利用可能である。GTKの開発は緩く管理されている。

GNOMEの開発者とユーザーは、毎年開催されるGNOMEユーザーと開発者のヨーロッパ会議GUADECミーティングに集まり、GNOMEの現状と将来の方向性について議論する[23]。GNOMEは、他のデスクトップとの相互運用性を高めるために、freedesktop.orgの標準とプログラムを取り入れている[要出典] 。

2016年9月1日、GTK開発ブログの投稿で、GTKの将来の番号付けスキームなどが示された[24]。2016年秋にリリースされたGTKバージョン3.22は、3.x系の最後のリリースとなる予定だったが、2018年秋にはGTK 4の遅れによりバージョン3.24が続いた[25]。GTK 4の開発では、2020年12月に最初のGTK 4.0安定リリースが開始されるまで、バージョン名3.90、3.92などが使用されていた[26]。最初の安定したGTK 4リリースにもかかわらず、GTKを使用する一部のアプリケーションは依然としてGTK 2に依存している。たとえば、2022年1月現在、GIMPはまだGTK 3に移植されていない[27]。

ビルド自動化

GTKのマスターブランチはビルド自動化にMesonを利用している。GTK(およびGNOME、GLibなど)は、以前はビルド自動化システムとしてGNU Build System(Autotools)を利用していた。2017年8月14日以降、Autotoolsビルドシステムファイルは削除された[28]。

批判

GTKに対する最も一般的な批判は、主要なアップデートにおける下位互換性の欠如であり、特にAPIとテーマにおいてそれが顕著である[29][30]。その結果、アプリケーション開発者やテーマ開発者は、GTKの新しいバージョンで動作するようにコードを書き直す必要がある。

GTK 3.xの開発サイクル中にマイナーリリース間で互換性が途切れたのは、現代のユーザーが期待する機能の提供や、影響力が増しているWaylandのサポートなど、革新への強いプレッシャーが原因であるとBenjamin Otteは説明した。GTK 4のリリースにより、革新の必要性によるプレッシャーは解消され、安定性と革新のバランスはより安定することになる[31]。同様に、テーマに対する最近の変更は、APIのその部分を改善し安定化させることを特に意図している。

  • Aurélien GâteauはGwenviewをGTKアプリケーションとして開始したが、開発の初期段階でQtに切り替えた[32]。
  • Subsurfaceの共同開発者であり、IntelのオープンソーステクノロジーセンターのメンバーでもあるDirk Hohndelは、GTK開発者が攻撃的でコミュニティの要求のほとんどを無視していると批判した[33]。
  • LXDE(GTKバージョンは廃止され、すべての取り組みはQtへの移植に集中)の開発者であるHong Jen Yeeは、GTKツールキットのバージョン3の根本的なAPI変更とメモリ使用量の増加を軽蔑し、PCManFMをQtに移植した。PCManFMは、GTKとQtの両方で同時に開発されている[34]。
  • Audaciousミュージックプレーヤーはバージョン3.6でQtに移行した[35]。開発者らが述べた理由には、クライアント側のウィンドウ装飾への移行が含まれ、これによりアプリケーションが「GNOME風で場違い」に見えるようになったと彼らは主張している[36]。
  • Wiresharkは、GTKのクロスプラットフォームサポートで良い経験がなかったため、Qtに切り替えた[37]。

使用例

GTKの Waylandサポートには、アプリケーションもWaylandに対応させる必要がある。
GIMP 2.8のスクリーンショット - GTKは、メニュー、ボタン、入力フィールドなど、プログラムのインターフェースコンポーネントの管理を担当している。

GTKをウィジェットツールキットとして使用するアプリケーションには、以下のものがある。

GTKプログラムは、必要なライブラリがインストールされていれば、X11とWaylandをベースにしたデスクトップ環境や、GTKで作成されていない他のデスクトップ環境でも実行できる。これには、X11.appがインストールされていればmacOSも含まれる。GTKはMicrosoft Windowsでも実行でき、PidginやGIMPなどの人気のあるクロスプラットフォームアプリケーションで使用されている。クロスプラットフォームGUIツールキットであるwxWidgetsは、LinuxでデフォルトでGTKを使用する[38]。他のポートにはDirectFB(例えばDebianインストーラで使用)がある。

デスクトップ環境

いくつかのデスクトップ環境はウィジェット・ツールキットとしてGTKを使用している。

開発中

  • GNOME - GTKをベースとしており、GNOMEネイティブのプログラムはGTKを使用する。
  • Budgie - Solus OSの後継であるSolusオペレーティングシステム用にゼロから構築された。
  • Cinnamon - GNOME 3のフォークで、GTKバージョン3を使用する。
  • MATE - GNOME 2のフォークで、バージョン1.18以降はGTK 3を使用する。
  • Xfce - バージョン4.14以降はGTK 3ベース。
  • Pantheon - elementary OSによって開発されており、GTK 3のみを使用する。
  • Sugar - 青少年初等教育用のデスクトップ環境で、GTK、特にPyGTKを使用する。
  • Phosh - PureOS用に設計されたモバイルUI。
  • LXDE(軽量X11デスクトップ環境) - GTK 2をベースとしている。
  • Unity - Ubuntuの以前のデフォルトのデスクトップ環境。

非アクティブ

ウィンドウマネージャ

次のウィンドウマネージャはGTKを使用している。

GtkSourceView

シンタックスハイライトにはGtkSourceView(ソースコード編集ウィジェット)が利用できる。GtkSourceView は、GTK とは別に GNOME によってライブラリ gtksourceview として管理されている。gsv への名称変更が計画されている[要出典] 。

GtkSpell

GtkSpell は GTK とは別のライブラリである。GtkSpell は GTK と Enchant に依存している。Enchant は実際のスペルチェッカーエンジンやソフトウェアである ispell、Hunspell(英語版) などのラッパーである。GtkSpell は GTK の GtkTextView ウィジェットを使用してスペルミスのある単語を強調表示し、置換を提案する。

歴史

Linux/Unix

GTKは当初、Motifの代替としてGIMPのために設計され、用いられた。ピーター・マティス(英語版)はMotifに失望し、彼自身のGUIツールキット、GIMP toolkitが書かれた。これはGIMP 0.60のリリースでMotifを置き換えることに成功した[39]。最終的にGTKは書き直され、オブジェクト指向となり、GTK+に名前が変更された[40]。これはGIMPの0.99リリースで最初に使われた。GTKはその後、GNOME Foundationによってメンテナンス対応がなされGNOMEデスクトップ環境で使われるようになった。

GTK 2

GTK 2.0.0リリース(2002年[41])シリーズでは、Pangoを使用したテキストレンダリングの改善、新しいテーマエンジン、アクセシビリティ・ツールキット(英語版)を使用したアクセシビリティの改善、UTF-8文字列を使用したUnicodeへの移行、より柔軟なAPIなどの新機能が導入された。バージョン2.8から、GTK 2はベクターグラフィックスの描画のためのライブラリとしてCairoに依存するようになっている。

GTK 3

GTKバージョン3.0.0(2011年[42])には、入力デバイス処理の改良、CSSのような構文で書かれたテーマのサポート、開いている他のGTKアプリケーションに関する情報を受け取る機能が含まれていた。

2019年2月のハッカソン中に「+」が削除され、名前が「GTK」に戻った[43]。

OpenVMS

HPは、必要なOpenVMSの変更をGTKバージョン1.3の開発ストリームに統合することを目標としていたが、これは実現しなかった[44]。OpenVMS用のGTKの最新バージョンはバージョン1.2.10である[45]。

GTK 4

GTK 4 開発サイクル(GTK 3.92 など)中に行われた主な変更の1つは、ユーザーカスタマイズオプション(GTK+ 2で設定可能な個別のキーボードショートカットなど)の削除と、GTKが提供する基本クラスに機能をエンコードするのではなく、補助オブジェクトに機能を委任したことである。その他の変更には次のものがある。

  • GtkWidgetによって記述されたシグナルハンドラーからのイベント処理は、イベントコントローラーに委任される。
  • レンダリングは、GtkSnapshotオブジェクトに委任される。
  • レイアウトメカニズムは、GtkWidgetからGtkLayoutManagerに委任される。

2018年のDevConf.cz(英語版)で、マティアス・クラセン(Matthias Clasen)は当時のGTK 4開発の現状について概要を説明し、GTK 3でのレンダリングと入力の仕組み、GTK 4でどのような変更が行われたか、その変更の理由などについて詳細に説明した。GTK 4で可能になったことの例も示された[46]。

関連項目

脚注

  1. ↑ "Release 4.22.4"。
  2. ↑ “The GTK Open Source Project on Open Hub: Languages Page”. openhub.net. 2019年3月28日閲覧。
  3. ↑ Bassi, Emmanuele (2019年2月6日). “Project rename to "GTK"”. mail.gnome.org. GNOME mailinglist. 2020年11月7日時点のオリジナルよりアーカイブ。2019年2月7日閲覧。
  4. ↑ “A brief description on how GTK was born.”. www.gtk.org. 2023年6月9日時点のオリジナルよりアーカイブ。2023年7月5日閲覧。
  5. ↑ The GTK+ Team. “GTK+ Features”. 2019年5月25日時点のオリジナルよりアーカイブ。2014年9月8日閲覧。
  6. ↑ “Documentation”. www.x.org. 2019年12月21日時点のオリジナルよりアーカイブ。2019年11月22日閲覧。
  7. ↑ “Projects/GTK/Roadmap - GNOME Wiki!”. wiki.gnome.org. 2019年5月22日時点のオリジナルよりアーカイブ。2019年11月22日閲覧。
  8. ↑ “GTK 4.0 – GTK Development Blog” (英語) (2020年12月16日). 2023年5月28日時点のオリジナルよりアーカイブ。2021年10月18日閲覧。
  9. ↑ “Robin Rowe / GTK1 · GitLab”. GitLab. 2023年3月9日時点のオリジナルよりアーカイブ。2023年2月22日閲覧。
  10. ↑ “GTK+ 3 Reference Manual”. 2021年6月23日時点のオリジナルよりアーカイブ。2017年7月15日閲覧。
  11. 1 2 “Using GTK+ with Broadway”. GNOME Developer. GNOME. 2021年6月14日時点のオリジナルよりアーカイブ。2018年3月6日閲覧。
  12. 1 2 “Broadway - GitHub symbiose/symbiose Wiki”. GitHub. 2023年6月28日時点のオリジナルよりアーカイブ。2018年3月6日閲覧。
  13. 1 2 “GTK+ to Use Cairo Vector Engine” (2005年2月5日). 2009年12月27日閲覧。
  14. 1 2 “Gtk: Migrating from GTK 2.x to GTK 3” (英語). docs.gtk.org. 2023年5月26日時点のオリジナルよりアーカイブ。2022年6月16日閲覧。 “All drawing in GTK 3 is done via Cairo.”
  15. ↑ “glade - man pages section 1: User Commands”. docs.oracle.com. 2024年9月11日閲覧。
  16. ↑ “Debian -- Package Search Results -- gazpacho”. packages.debian.org. 2023年6月28日時点のオリジナルよりアーカイブ。2019年11月22日閲覧。
  17. ↑ “Nothing-personal - A development site for Crow Designer, GuiLoader and Rally - Google Project Hosting”. 2013年1月24日時点のオリジナルよりアーカイブ。2014年2月17日閲覧。
  18. ↑ “GTK Inspector” (英語). GNOME Developer Documentation. 2024年9月14日閲覧。
  19. ↑ “Introducing GtkInspector” (2014年5月15日). 2014年5月17日時点のオリジナルよりアーカイブ。2014年5月17日閲覧。
  20. ↑ “Another GtkInspector update” (2014年7月11日). 2014年7月14日時点のオリジナルよりアーカイブ。2014年7月13日閲覧。
  21. ↑ “GNOME Quick SWOT Analysis”. The GNOME Project. 2014年3月18日時点のオリジナルよりアーカイブ。2014年3月18日閲覧。
  22. ↑ “GNOME Languages”. Open Hub. Black Duck Software. 2014年5月22日時点のオリジナルよりアーカイブ。2014年5月22日閲覧。
  23. ↑ “About”. GNOME Users And Developers European Conference (GUADEC). 2011年10月4日時点のオリジナルよりアーカイブ。2011年12月3日閲覧。
  24. ↑ “Versioning and long term stability promise in GTK”. GTK development blog (2016年9月1日). 2016年9月21日時点のオリジナルよりアーカイブ。2016年9月2日閲覧。
  25. ↑ “GTK+ 3.24 To Deliver Some New Features While Waiting For GTK4”. www.phoronix.com. 2024年4月22日時点のオリジナルよりアーカイブ。2021年4月2日閲覧。
  26. ↑ “GTK 4.0”. GTK development blog (2020年12月16日). 2023年5月28日時点のオリジナルよりアーカイブ。2021年10月18日閲覧。
  27. ↑ “Development release GIMP 2.99.2 is out”. Gimp news. (2020年11月6日). オリジナルの2021年4月10日時点におけるアーカイブ。 2022年1月6日閲覧。
  28. ↑ “Build system change GTK's master branch”. mail.gnome.org. 2017年8月15日時点のオリジナルよりアーカイブ。2018年10月29日閲覧。
  29. ↑ “How Does One Create A Gtk+ Application? – Morten Welinder”. blogs.gnome.org (2014年6月23日). 2014年7月1日時点のオリジナルよりアーカイブ。2017年6月3日閲覧。
  30. ↑ mclasen (2015年11月20日). “A GTK+ update”. Goings on. 2016年5月2日時点のオリジナルよりアーカイブ。2016年6月3日閲覧。
  31. ↑ “GUADEC2013: Benjamin Otte talks about GTK+”. GUADEC. 2014年3月6日時点のオリジナルよりアーカイブ。2014年3月5日閲覧。
  32. ↑ Aurélien Gâteau (2021年10月3日). “The story behind Gwenview name”. agateau.com. 2024年4月22日時点のオリジナルよりアーカイブ。2024年12月15日閲覧。 “Yes, you read this right! Gwenview started its life as a GTK+ application!”
  33. ↑ Larabel, Michael (2014年1月12日). “The Biggest Problem With GTK & What Qt Does Good”. Phoronix. 2016年7月1日時点のオリジナルよりアーカイブ。2014年9月10日閲覧。
  34. ↑ Hong Jen Yee (2013年3月26日). “PCManFM Qt 0.1.0 released”. 2013年6月7日時点のオリジナルよりアーカイブ。2014年9月10日閲覧。
  35. ↑ “Audacious - An Advanced Audio Player”. audacious-media-player.org. 2019年7月28日時点のオリジナルよりアーカイブ。2019年11月22日閲覧。
  36. ↑ Lindgren, John (2014年5月6日). “Ugly window decorations and how to fix them (GTK 3.12)”. 2014年10月13日時点のオリジナルよりアーカイブ。2014年10月21日閲覧。
  37. ↑ Gerald Combs (2013年10月15日). “We're switching to Qt”. 2013年10月19日時点のオリジナルよりアーカイブ。2015年8月19日閲覧。
  38. ↑ “GTK+”. WxWidgets Compared To Other Toolkits. 2007年10月5日時点のオリジナルよりアーカイブ。2007年8月28日閲覧。
  39. ↑ “LinuxWorld - Where did Spencer Kimball and Peter Mattis go?”. 1999年4月17日時点のオリジナルよりアーカイブ。2013年8月19日閲覧。
  40. ↑ “What is the + in GTK+?” (2011年). 2012年3月26日時点のオリジナルよりアーカイブ。2014年3月18日閲覧。
  41. ↑ https://mail.gnome.org/archives/gtk-devel-list/2002-March/msg00161.html
  42. ↑ https://mail.gnome.org/archives/gtk-devel-list/2011-February/msg00020.html
  43. ↑ “Rename some references to GTK+ (d080be3e) · Commits · GNOME / gtk”. gitlab.gnome.org (2019年2月4日). 2021年2月25日時点のオリジナルよりアーカイブ。2019年2月5日閲覧。
  44. ↑ “HP OpenVMS systems - GTK+”. 2018年7月13日時点のオリジナルよりアーカイブ。2018年7月12日閲覧。
  45. ↑ “HP OpenVMS systems - GTK+”. 2018年7月13日時点のオリジナルよりアーカイブ。2018年7月12日閲覧。
  46. ↑ “GTK+ 4 Status Update”. Fedora People. 2024年4月22日時点のオリジナルよりアーカイブ。2024年4月22日閲覧。

外部リンク


GTK+

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/06/09 07:35 UTC 版)

ナビゲーションに移動 検索に移動
GTK+
開発元 GNOME Foundation
初版 1998年4月14日(21年前) (1998-04-14)
最新版 3.24.8 / 2019年4月10日(60日前) (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+ (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」に改名することが決まった[1]。

プログラミング言語

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といった言語でもバインディングを用いることにより開発が可能である[2]。

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

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

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というプラグインスタイルのフレームワークが用意されており、XIMやIIIMFを利用するための仕組みも、それぞれこの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

関連項目

参照

外部リンク


Gtk

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/04/04 15:21 UTC 版)


GTK

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/12/04 14:20 UTC 版)

「クライアントサイド・デコレーション」の記事における「GTK」の解説

GTKは、GtkHeaderBarウィジェットにより、Linuxで最初にクライアントサイド・デコレーションを実装したGUIツールキットである。 GtkHeaderBarでは、より多くの領域をアプリケーション本体に割り当て、無駄な空白部分の面積をできる限り削減するために、タイトルバー、メニューバー、ツールバーを統合して単一の水平のバーとして描画する。これにより、アプリケーションから伝統的なデスクトップでの使用を前提としていた箇所が削除され、デスクトップPCからスモールフォームファクタ機器まで、様々なフォームファクタを通じたUIの柔軟性やUXの一貫性の確保に貢献する。これらはGNOME Shellで最優先にサポートされるほか、GNOME applicationsでも幅広く使用されている。

※この「GTK」の解説は、「クライアントサイド・デコレーション」の解説の一部です。
「GTK」を含む「クライアントサイド・デコレーション」の記事については、「クライアントサイド・デコレーション」の概要を参照ください。

ウィキペディア小見出し辞書の「GTK」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ。



固有名詞の分類


英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「GTK」の関連用語

GTKのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



GTKのページの著作権

   
OSS iPediaOSS iPedia
Copyright © Information-technology Promotion Agency, Japan. All rights reserved 2006-2026
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのGTK (ツールキット) (改訂履歴)、GTK+ (改訂履歴)、Gtk (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのクライアントサイド・デコレーション (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2026 GRAS Group, Inc.RSS