PythonのGUIライブラリ「wxPython」の紹介
PythonのGUIライブラリは多くあります。
例えば標準ライブラリには「Tkinter」があり、これはPythonをインストールすれば殆どの場合にそのまま使えます。
Google Earth、Maya、Skypeなどに使われてきたQtのPythonバインディングである「PyQt」「PySide」や、GIMP、LinuxのGnomeデスクトップに使われているGTK+のPythonバインディングとして「PyGtk」「PyGObject」が存在します。
また、最近ではスマートフォンも含めたクロスプラットフォームなGUIライブラリである「Kivy」や、Webの技術を使った「Flexx」も注目されています。
今回はwxWidgetsのPythonバインディングである「wxPython」の紹介です。
wxWidgetsとは
C++で記述された、長い歴史を持つクロスプラットフォームなウィジェット・ツールキットです。
数多くの言語で利用できるようになっており、Perl, Ruby,Javascriptのバインディング等もあり、wxPythonもその一つです。
wxWindows Licenseという緩いライセンスを採用しているのも特徴です。
wxPythonの勧め
Pythonでサードパーティ製のGUIライブラリを探す動機の多くは、「Tkinter」では不満であるというケースです。
「Tkinter」は標準ライブラリにあり手軽に利用ができるのですが、見た目がダサくなってしまいがちです。
サードパーティ製ライブラリの中では「Kivy」が人気ですが、PC専用のアプリケーションを作ろうとすると物足りない部分もあります。
wxPythonは日本語の情報量もPythonの割には多く、成熟しておりお勧めです。
Python開発者のグイドも絶賛しており、「いくつかの制約を考えると、wxPythonが最も成熟したGUIツールキットです。wxPythonが標準のツールキットではない理由は、Tkinterが既にあるからです」と評価しているほどです。
(原文はwxPython is the best and most mature cross-platform GUI toolkit, given a number of constraints. The only reason wxPython isn’t the standard Python GUI toolkit is that Tkinter was there first.)
有名なものだと、BitTorrentがwxPythonで作成されています。
インストール
以前はpipでインストールするにも少し面倒でしたが、現在は正式にPython3系に対応され、PyPIに登録されています。
Python3.4、3.5、3.6、それぞれWindows・Macで利用可能です。
pip install wxPython
としましょう。
wxPythonを学習する
検索を行うと、ブログ等で情報を発信している方が多くいます。
それ以外には、例えば下記のような入門・チュートリアルサイトがあります。
Python-izm
http://www.python-izm.com/
Pythonの入門サイトとして有名ですが、wxPythonも取り扱っています。
内容も丁寧なので、まずはこのサイトで学習することをお勧めします。
wxPython チュートリアル
http://wxpython.at-ninja.jp/
こちらもわかりやすいチュートリアルですが、少し繋がりづらいこともあるようです。
http://zetcode.com/wxpython/ というサイトを日本語訳したもので、まだ完全に日本語訳されてはいませんが、内容はとても丁寧です。
wxPython GUIプログラミング
amazonへのリンク
こちらは書籍です。
非常に分厚い本で、wxPythonの機能・仕様がしっかりとまとめられています。
リファレンスとして非常に有用で、手元に一冊置いておきたいような本です。
株式会社キャパでは、アプリの企画・開発についてご相談を承っています。
アプリを作りたいので、具体的な提案が欲しい。頭の中にあるアイデアを本当に実現できるのか知りたい。予算内に収まるのか?
などのお客様のご相談に、親身に応じます。
アプリ開発:実績のご紹介