PythonでGUIアプリをつくる!おすすめのライブラリーとは


Pythonといえば、機械学習。そんな風に考えていらっしゃる方も多いのではないでしょうか。
しかし、Pythonにはさまざまなライブラリが存在しているので、実は機械学習やディープラーニングといった分野だけでなくWebアプリなども作成することが可能です。
FacebookやDrop box、Instagramといった、大規模なウェブサービスもPythonで開発されていると聞けば納得でしょう。

しかもPythonを使えば、なんとデスクトップ上で動くGUIアプリケーションですら開発することも可能なのです。

 

 

GUIアプリっていったい何?

 

GUIアプリとは、Windowsの場合、「exe」という拡張子を持った、デスクトップで実行されるGUI操作ができるアプリケーションのことです。

OSのデスクトップ上で動くGUIアプリを作成するには、コンパイラ型言語が必用と思われがちですが、スクリプト言語のPythonでも、ライブラリを使えば、簡単なユーティリティアプリぐらいは簡単に作成することが可能です。

PythonでGUIアプリを作るために便利なライブラリをいくつか紹介します。

 

TkInter

 

TkInterはPythonの標準ライブラリに採用されているGUIライブラリで、Tcl/Tk(ティクル・ティーケー)のGUIライブラリのTkをPythonで利用できるようにした物で、クロスプラットフォームでGUIアプリを作成できる点は他のライブラリと同様です。

TkInterは、Pythonの標準ライブラリという強みもあるものの、TkInterで作ったGUIアプリの作者が少ないことがデメリットで、現在もそれほど活用されていないのが実情です。

▽もっと「Tkinter」について知る

PythonのGUIライブラリ「Tkinter」の紹介

 

PyQt

 

PyQtはRiverbank Computing社によって開発されており、GPLライセンスとと商用ライセンスで提供されています。商用のプログラムを作らない限りは、フリーライセンスで利用可能です。

商用ソフトでQtを利用するには、Nokiaが公開しているPySideがLPGLライセンスで提供されているのでフリーで利用することが可能ですが、PyQtと比べると利用者は少ないようです。

PyQtもクロスプラットフォーム対応で、440のクラスと6000以上の関数とメソッドを持って居るのが特徴です。GUIのパーツの表示をQt側で受け持つことによってネイティブアプリケーションに似たUIを構築できる点が支持されていて、実際PyQtを使ったGUIアプリは数多く存在します。

 

wxPython

 

wxPythonは一番メジャーと言っても良いクロスプラットフォームのGUIライブラリです。
UI表示にはOSのAPIを使用しているため、見た目もネイティブアプリケーションの様に作ることが可能です。

現在、Python標準ライブラリとしてTkInterが採用されていますが、それはTkInterが先に開発されたからで、本当に汎用的に利用できるGUIライブラリはwxPythonであるとPythonの生みの親もコメントしているほどです。

Pythonで作られていることで有名なDropboxですが、GUIライブラリにはwxPythonが使われているそうです。

▽もっと「wxPython」について知る

PythonのGUIライブラリ「wxPython」の紹介

 

GUIアプリをネイティブらしくするには

 

PythonでGUIアプリを作成しても、Pythonはスクリプト型言語のため、コンパイルなどの処理がなく、起動するためにはPythonをインストールしてコマンドプロンプト上からPythonを実行しなければならない点は実は同じです。

ネイティブアプリのようにexe形式にするためには一手間かける必要があります。
それはpy2exeやPyinstallerなどを使って、パッケージ化して実行ファイル形式にすればPythonがインストールされていない環境でも実行出来るパッケージが作成可能です。

このようにGUIライブラリを利用すればスクリプト言語でもわりと簡単にデスクトップ上で動くアプリを作成することが可能なのです。

▽まだまだある!Python GUIライブラリ人気記事

Python、GUIライブラリの紹介

 

株式会社キャパでは、アプリの企画・開発についてご相談を承っています。

アプリを作りたいので、具体的な提案が欲しい。頭の中にあるアイデアを本当に実現できるのか知りたい。予算内に収まるのか?
などのお客様のご相談に、親身に応じます。
アプリ開発:実績のご紹介


関連記事一覧

  1. 月額課金のさくらVPSと時間課金のAWS結局おトクなのは?
we love develop
アプリやシステムの開発を通じて、お客様のビジネスを成長させることが私たちのビジネスです。お気軽にお問い合わせください。
 お問い合せ

お電話でのお問い合わせはこちらから
TEL:03-5297-2871

メールマガジンの登録

キャパでは誰かに話したくなるようなIT小ネタを、週に一回メルマガで配信しています。
ぜひ購読してみませんか?
 購読する

記事カテゴリ記事カテゴリ

月別投稿記事

PAGE TOP