Python プログラミング

【Python】GUIライブラリの比較【Tkinter, PyQt, Kivy】

Python言語は、機械学習やサーバーサイドのイメージが強いと思うのですが、実はGUIアプリケーションを作成することも可能です。

今回は、Pythonで代表的なGUIツール4つを比較してみました。

Pythonで使えるGUIライブラリ

Tkinter

特徴

Tktinterは、Pythonに標準で用意されたライブラリです。
したがって、pip installなどの準備は必要なく、すぐに使用することができます。

使い勝手も良く、MVCモデルも簡単なアプリならすぐに作ることができます。

しかし、他のGUIライブラリで作るよりも、見た目がリッチではないです。(完全に主観ですが笑)
機能面も他のGUIライブラリよりも劣っているとの意見もありました。

ちなみに、取り組んでいる人口はかなり多いので、ネットにたくさん情報があります。
丁寧な解説記事がいくつもあるので、習得に困ることはないと思います。

向いている人

とりあえずサクッとローコストでGUIアプリを作りたい!と言う方にはおすすめできます。

PyQt

特徴

PyQtは、C++のQtとうGUIツールがPythonようにwrapperされたものになります。

見た目も良く、機能面も十分で、PyQtに取り組んでいる人口は多いです。
書籍も販売されているので、情報に困ることはないでしょう。

ここまで聞いたら、「PyQt最強じゃん!」ってなるのですが、PyQtには致命的なデメリットがあります。
それは、ライセンスです。

PyQtは商用利用する分には、ライセンス料金を支払う必要が発生します。
ビジネス用としてでGUIライブラリを洗濯するならば、その点は覚悟しなければなりません。

向いている人

個人利用でアプリ開発をする人におすすめです。

Kivy

特徴

Kivyは、クロスプラットフォーム対応のGUIアプリを作成することができます。

見た目もよく、機能面も十分で、取り組んでいる人口も多く、なんとオープンライセンスです!
ここまで聞いたら「Kivy最強じゃん!」ってなるのですが、Kivyにもデメリットがあります。

それは、
Kivy言語を習得する必要があることと、日本語の情報が少ないことです。

Kivyの場合は、レイアウトに関してはKivy言語で記述する必要があります。
そのため、新たに一つの言語を習得しなければならずハードルが高いです。
(実際触ってみると、べらぼうに難解なわけでもないですけど、、)

もう一つは、日本語の情報が少ないことです。
英語の情報はたくさんネットに落ちていますが、日本語の情報はTkinterやPyQtと比べると圧倒的に少ないです。
僕も含め、日本語の情報発信者はどんどん増えているので、そのうち解決するとは思ってます。

向いている人

新しい言語の取得に抵抗がない方

まとめ

Python用のGUIライブラリを紹介しました。

Tkinterは、Python標準ライブラリで扱いやすいです。
PyQtは、多機能ですがライセンス料が発生します。
Kivyは、多機能でオープンライセンスですがハードルが高いです。

-Python, プログラミング
-, , ,