#
16.6 他のグラフィカルユーザインターフェイスパッケージ

`Tkinter`へ付け加えられるたくさんの拡張ウィジェットがあります。

Pythonメガウィジェット
  `Tkinter`モジュールを使いPythonで高レベルの複合ウィジェットを構築するためのツールキットです。基本クラスとこの基礎の上に構築された柔軟で拡張可能なメガウィジェットから構成されています。これらのメガウィジェットはノートブック、コンボボックス、選択ウィジェット、ペインウィジェット、スクロールするウィジェット、ダイアログウィンドウなどを含みます。BLTに対するPmw.Bltインターフェイスを持ち、busy、graph、stripchart、tabsetおよびvectorコマンドが利用できます。

  Pmwの最初のアイディアは、Michael McLennanによるTk `itcl`拡張`[incr Tk]`とMark Ulfertsによる`[incr Widgets]`から得ました。メガウィジェットのいくつかはitclからPythonへ直接変換したものです。`[incr Widgets]`が提供するウィジェットとほぼ同等のものを提供します。そして、Tixと同様にほぼ完成しています。しかしながら、ツリーを描くためのTixの高速な`HList`ウィジェットが欠けています。

Tkinter3000 Widget Construction Kit (WCK)
  は、新しい Tkinter ウィジェットを、Python で書けるようにするライブラリで す。WCK フレームワークは、ウィジェットの生成、設定、スクリーンの外観、イ ベント操作における、完全な制御を提供します。Tk/Tcl レイヤーを通してデー タ転送する必要がなく、直接 Python のデータ構造を操作することができるので、 WCK ウィジェットは非常に高速で軽量になり得ます。

TkはPythonに対する唯一のGUIではありませんが、もっとも一般的に使われているものです。

wxWindows
  Qt、Tk、MotifおよびGTK+のもっとも魅力のある性質を一つのパッケージに結合したGUIツールキットです。C++で実装されています。wxWindowsは二種類のUnix実装をサポートしています: GTK+とMotif。Windowsでは、標準的なMicrosoft Foundation Classes (MFC)の外観を持っています。なぜなら、Win32ウィジェットを使っているからです。Tkinterに依存しないPythonクラスブラウザがあります。

  wxWindowsは`Tkinter`よりさらにウィジェットが豊富で、そのへヘルプシステム、洗練されたHTMLと画像ビューアおよび他の専門分野別のウィジェット、多数のドキュメントと印刷機能を持っています。

PyQt
  PyQtはsipでラップされたQtツールキットへのバインディングです。QtはUnix、WindowsおよびMac OS Xで利用できる大規模なC++ GUIツールキットです。sipはPythonクラスとしてC++ライブラリに対するバインディングを生成するためのツールキットで、特にPython用に設計されています。オンライン・マニュアルはhttp://www.opendocspublishing.com/pyqt/ (正誤表はhttp://www.valdyas.org/python/book.htmlにあります)で手に入ります。

PyKDE
  PyKDEはsipでラップされたKDEデスクトップライブラリに対するインターフェイスです。KDEはUnixコンピュータ用のデスクトップ環境です。グラフィカル・コンポーネントはQtに基づいています。

FXPy
  FOX GUIへのインターフェイスを提供するPython拡張モジュールです。FOXは、グラフィカルユーザインターフェイスを簡単かつ効率良く開発するためのC++ベースのツールキットです。それは幅広く、成長しているコントロール・コレクションで、3Dグラフィックスの操作のためのOpenGLウィジェットと同様に、ドラッグアンドドロップ、選択のような最新の機能を提供します。FOXはアイコン、画像およびステータスライン・ヘルプやツールチップのようなユーザにとって便利な機能も実装しています。

  FOXはすでに大規模なコントロール・コレクションを提供していますが、単に既存のコントロールを使って望みの振る舞いを追加または再定義する派生クラスを作成することによってプログラマが簡単に追加コントロールとGUI要素を構築できるようにするために、FOXはC++を利用しています。

PyGTK
  GTKウィジェットセットのための一連のバインディングです。Cのものより少しだけ高レベルなオブジェクト指向インターフェイスを提供します。普通はC APIを使ってやらなければならない型キャストとリファレンス・カウントをすべて自動的に行います。GNOMEに対しても、バインディングがあります。チュートリアルが手に入ります。