はじめに
PythonでGUI開発をするためのライブラリ「PySide2」の基本的な使い方を、いくつかの段階に分けて説明していきます。
当ページではPySide2のインストール手順について説明しております。
開発環境
以下の通りになります。
- Windows 10
- Python 3.8 以降
サクッとPySide2について
GUIツールキットの一種である「Qt 5」をPythonでも使用できるようにしたライブラリのことです。
端的言えば「PythonでもQt 5を使ってGUI開発ができるライブラリ」のことです。
PyQt 5と何が違うの?
ライセンスが違います。
ザックリと説明も載せておきます。
ライセンスについて私は詳しくないので、詳しく知りたい方は各々で調べてください。
以下のライセンス説明を真に受けて大事にならないように・・・
GUIツール名 | ライセンス | ライセンスの違い |
---|---|---|
PyQt5 | GPL | 商用で利用する場合、ソースコードを公開しないといけない |
PySide2 | LGPL | 商用でも、条件さえ満たせばソースコードを公開する必要がない |
会社などのソフト開発をする上で、企業秘密であるソースコードは絶対知られたくないと思います。
「でもPythonとQtを使って開発をしたい。。。」
この考えを実現できるのがPySide2って訳です。
PySide2の環境構築手順
前提としてPython3を事前にインストールしてください。
Python3がインストールされているなら、あとは簡単です。
Python3のインストール手順はネット上に腐るほどありますので、このページでは省略します。
バージョン切り替え方法も載せているページがありましたので、一応参考例としてURLを載せておきます。
- https://mynavi-agent.jp/it/geekroid/2019/12/post-154.html
- https://gammasoft.jp/python/python-version-management/
PySide2のインストール
ではPySide2のインストール手順を説明します。
-
Powershell
またはコマンドプロンプト
を起動します。 - 起動後、
pip
コマンドでPySide2をインストールします。
pip install PySide2
これだけです。
Qtプラットフォーム・プラグインのパスを通す
次に「Qtプラットフォーム・プラグインの場所」をWindowsが認識できるようにする必要があります。
要するに「環境変数のパスを通す」ことです。
これをやらないとPySide2をインポートできても、ウィジェットの表示ができなくなります。
以下の環境変数のパスを通します。
環境変数名 | 値 |
---|---|
QT_PLUGIN_PATH | C:\Users\<ユーザ名>\AppData\Local\Programs\Python\\Python<バージョン番号>\lib\site-packages\PySide2\plugins |
QT_QPA_PLATFORM_PLUGIN_PATH | C:\Users\<ユーザ名>\AppData\Local\Programs\Python\\Python<バージョン番号>\lib\site-packages\PySide2\plugins\platforms |
赤文字はお使いのPCやPythonバージョンごとに異なるので注意してください。
例えば以下のような感じ。
- QT_PLUGIN_PATH
C:\Users\karak\AppData\Local\Programs\Python\Python38\Lib\site-packages\PySide2\plugins
【旧バージョン】2021年4月時点のPySide2の環境変数の登録方法
環境変数名 | 値 |
---|---|
QT_PLUGIN_PATH | C:\Users\<ユーザ名>\AppData\Local\Programs\Python\\Python<バージョン番号>\Lib\site-packages\PyQt5\Qt\plugins |
QT_QPA_PLATFORM_PLUGIN_PATH この変数は必要ないかも |
C:\Users\<ユーザ名>\AppData\Local\Programs\Python\\Python<バージョン番号>\Lib\site-packages\PyQt5\Qt\plugins\platforms |
赤文字はお使いのPCやPythonバージョンごとに異なるので注意してください。
例えば以下のような感じ。
- QT_PLUGIN_PATH
C:\Users\からくり\AppData\Local\Programs\Python\Python38\Lib\site-packages\PyQt5\Qt\plugins
環境変数の登録方法を2通り提示します。
① Windowsの環境変数に直接登録する
② Pythonプログラムの実行中だけ環境変数を登録する
両方設定したとしても問題ありませんので、気にせずバシッとやっちゃってください。
環境変数の登録方法 ①Windowsの環境変数に直接登録する
このシリーズではこちらの方法を取ります。
-
あとは「OK」を押していけば環境構築は完了です。
環境変数の登録方法 ②Pythonプログラムの実行中だけ環境変数を登録する
プログラムに以下の処理を追加します。
こっちの方が簡単だと思います。
import PySide2
import os
# PySide2がインストールされているフォルダ名を取得
dirname = os.path.dirname(PySide2.__file__)
# PySide2のライブラリ下にある「plugins」フォルダと「platforms」フォルダの絶対パスを取得
plugin_path = os.path.join(dirname, 'plugins', 'platforms')
# プログラムの実行中だけ変数「plugin_path」のパスを通す
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path
動作確認
試しにボタンを表示するプログラムを作ってみました。
# ①Windowsの環境変数に直接登録する だけしか設定していない場合
from PySide2 import QtWidgets
app = QtWidgets.QApplication()
button = QtWidgets.QPushButton("Hello World!!")
button.show()
app.exec_()
これを実行して、以下が表示できれば環境構築は成功です。
ちなみに「②Pythonプログラムの実行中だけ環境変数を登録する」で環境変数を設定する場合、プログラムは以下のようになります。
import PySide2
from PySide2 import QtWidgets
import os
# PySide2がインストールされているフォルダ名を取得
dirname = os.path.dirname(PySide2.__file__)
# PySide2のライブラリ下にある「plugins」フォルダと「platforms」フォルダの絶対パスを取得
plugin_path = os.path.join(dirname, 'plugins', 'platforms')
# プログラムの実行中だけ変数「plugin_path」のパスを通す
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path
app = QtWidgets.QApplication()
button = QtWidgets.QPushButton("Hello World!!")
button.show()
app.exec_()