PythonでGUIアプリの開発を考えていますか?
その場合、PyQt5が選択肢にあがります。
しかし、PythonでGUIアプリと言うだけなら、Tkinterの方が将来性はあります。
Tkinterの可能性については、次の記事で解説しています。
では、なぜPyQt5である必要があるのか?
PyQt5である理由は、スマホ対応とパフォーマンスにあります。
本記事では、そのようなPyQt5のインストールを解説しています。
本記事の内容
- PyQt5とは?
- PyQt5の動作環境
- PyQt5のインストール
- PyQt5の動作確認
それでは、上記に沿って解説していきます。
PyQt5とは?
Python用のQt(v5 バージョン5)です。
Qtとは、C++のクロスプラットフォームフレームワークのことを言います。
Qtが扱えることは、以下。
- 位置情報サービス
- マルチメディア
- NFC/Bluetooth接続
- ChromiumベースのWebブラウザ
- UI開発
PyQt5でできることは、GUIアプリ開発だけではないということですね。
さらには、重要なポイントがあります。
C++がベースのため、処理が高速です。
そして、Qt(バージョン5から)はiOSやAndroidでも動きます。
よって、スマホ向けのGUIアプリを開発する場合、PyQt5が活躍することになります。
つまり、スマホのGUIアプリをPythonで開発できることになります。
ここで、注意点を一つ。
PyQt5の商用利用には、ライセンス購入が必要となります。
商用利用を考えている場合は、注意しておいてください。
以上が、PyQt5の説明です。
では、次はPyQt5が動く環境を確認します。
PyQt5の動作環境
Qtは、C++のクロスプラットフォームフレームワークでした。
そのため、基本的には以下のOSのどこでも動きます。
- Windows
- macOS
- Linux
- iOS
- Android
OSに関しては、特に気にする必要はありません。
しかし、Pythonのバージョンに関しては注意が必要です。
最新のPyQt5は、バージョンが5.15.2となります。
バージョン5.15.2は、2020年11月24日に公開されています。
そして、この最新バージョンでは、Python 3.5以上がサポート対象となっています。
PyQt5をインストールする際には、PYthonのバージョンに注意してください。
あと、大前提ですがC++が動く環境が必要です。
Windowsの場合、「Microsoft Visual C++ Redistributable」が必要となります。
では、PyQt5をインストールしていきましょう。
PyQt5のインストール
最初に、Pythonのバージョン確認ですね。
>python -V Python 3.8.6
Python 3.5以上なので、問題ありません。
では、pipコマンドでインストールしていきましょう。
pipコマンドを使う際には、以下を事前に実行してください。
python -m pip install --upgrade pip
PyQt5のインストールコマンドを実行する前に注意点があります。
特にAnacondaをインストールしてSpyderを利用している人は注意!!
SpyderがPyQt5を利用していて、PyQt5を更新すると最悪Spyderが起動しなくなる可能性があります。
その場合は、思い切ってPyCharmに乗り換えるのもアリです。
では、PyQt5のインストールに話を戻します。
更新(何もない場合もある)が完了したら、PyQt5のインストールです。
pip install PyQt5
インストールは、次の表示で処理が終わりました。
Successfully installed PyQt5-5.15.2 PyQt5-sip-12.8.1
とりあえず、インストールは完了です。
まだ、インストール成功とは言えません。
実際に動作確認してみないと、インストール成功とは言えないからです。
それでは、最後に動作確認を行いましょう。
PyQt5の動作確認
確認のためのコードです。
import sys from PyQt5.QtWidgets import QApplication, QWidget if __name__ == "__main__": app = QApplication(sys.argv) w = QWidget() w.resize(300,100) w.setWindowTitle("テスト") w.show() sys.exit(app.exec_())
このプログラムを実行すると、以下が表示されます。
上の表示が確認できれば、PyQt5の動作確認は完了です。
よって、PyQt5のインストールも成功と言えます。