24.7. 他のグラフィカルユーザインタフェースパッケージ
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
ウィジェットは非常に高速で軽量になり得ます。
主要なクロスプラットフォーム (Windows, Mac OS X, Unix 系) GUI ツールキットで Python でも使えるものは:
参考
- PyGTK
- は GTK ウィジェットセットのための一連のバインディングです。C のものより少しだけ高レベルなオブジェクト指向インタフェースを提供します。Tkinter が提供するよりも沢山のウィジェットがあり、Python に特化した参考資料も良いものがあります。
GNOME に対しても、バインディングがあります。良く知られた PyGTK アプリケーションとしては、
PythonCAD 。オンライン チュートリアル が手に入ります。
- PyQt
- PyQtは sip でラップされた Qt ツールキットへのバインディングです。Qt は Unix、Windows および Mac OS X で利用できる大規模な
C++ GUI ツールキットです。 sip は Python クラスとして C++
ライブラリに対するバインディングを生成するためのツールキットで、特に Python 用に設計されています。 PyQt3 バインディング向けの書籍に Boudewijn Rempt 著 GUI Programming with Python: QT Edition があります。
PyQt4 向けにも Mark Summerfield 著 Rapid GUI Programming
with Python and Qt
があります。
- wxPython
- wxPython はクロスプラットフォームの Python 用 GUI ツールキットで、人気のある wxWidgets
(旧名 wxWindows) C++ ツールキットに基づいて作られています。このツールキットは Windows, Mac OS X および Unix システムのアプリケーションに、それぞれのプラットフォームのネイティブなウィジェットを可能ならば利用して (Unix系のシステムではGTK+)、ネイティブなルック&フィールを提供します。多彩なウィジェットの他に、オンラインドキュメントや場面に応じたヘルプ、印刷、HTML 表示、低級デバイスコンテキスト描画、ドラッグ&ドロップ、システムクリップボードへのアクセス、XML に基づいたリソースフォーマット、さらにユーザ寄贈のモジュールからなる成長し続けているライブラリ等々をwxPython は提供しています。wxPython を扱った書籍として
Noel Rappin、Robin Dunn 著 wxPython in Action
があります。
PyGTK、PyQt および wxPython は全て現代的なルック&フィールを具え Tkinter
より豊富なウィジェットがあります。これらに加えて、他にも Python 用 GUI
ツールキットが、クロスプラットフォームのもの、プラットフォーム固有のものを含め、沢山あります。Python Wiki の GUI Programming ページも参照してください。もっとずっと完全なリストや、GUI ツールキット同士の比較をしたドキュメントへのリンクがあります。