#
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 ウィジェットは非常に高速で軽量になり得ます。

他にも Python で使える GUI パッケージがあります。

wxPython
  wxPython はクロスプラットフォームの Python 用 GUI ツールキットで、 人気のある wxWidgets C++ ツールキットに基づいて作られています。このツールキットは Windows, Mac OS X および Unix システムのアプリケーションに、 それぞれのプラットフォームのネイティブなウィジェットを可能ならば利用して (Unix系のシステムでは GTK+)、ネイティブなルック＆フィールを提供します。 多彩なウィジェットの他に、オンラインドキュメントや場面に応じたヘルプ、 印刷、HTML 表示、低級デバイスコンテキスト描画、ドラッグ＆ドロップ、 システムクリップボードへのアクセス、XML に基づいたリソースフォーマット、 さらにユーザ寄贈のモジュールからなる成長し続けているライブラリ等々を wxPython は提供しています。wxWidget も wxPython もどちらのプロジェクトも 活発に開発が続けられ改良が進められており、活動的で親切なユーザと開発者の コミュニティがあります。

wxPython in Action
  Noel Rappin と Robin Dunn による wxPython の本。

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に対しても、 バインディングがあります。チュートリアルが手に入ります。