PySide+minicondaでマルチプラットなGUIソフトを作ってみた【初めてのPython GUI】

PythonでGUIソフトを作ってみたい

それで色々ググってみると次の選択肢が…

  • PySide
  • PyQt
  • wxPython
  • PyGTK
  • PySimpleGUI

PyQtライセンスはGPLだから厳しいです。
でも洗練されてて情報も多いというのが利点。

それなら互換性のあるPySideを使おうと決心!

ライセンスはLGPLだしPyQtと互換性あるし、
そういう訳でPythonでのGUI開発を始めました。

miniconda環境でGUIソフトを作った記録です。

1.minicondaで環境構築+PySide開発の下準備

PySideに必要なものは次の2つ

  • miniconda仮想環境
  • Python ver2.4以上

まず適当にminiconda環境を作成します。

▼ このようなコマンドで環境作成

▼ y/n と聞かれるので y と入力

この時点でPythonもインストールされます。

実行コマンドの python=3.6 の部分ですね。

ここは2.4以上ならPySide実行に問題ありません。

2.仮想環境を有効化してPythonバージョン確認

▼ 今作った仮想環境を有効化

▼ Pythonバージョン確認

バージョンが表示されればOKです。

ちなみにconda仮想環境を作り直したいなら…

その場合は仮想環境を削除すればOK

▼ このようなコマンド実行

これで仮想環境を作り直しできます。

3.PySide2をconda経由からインストールする

PySide2をインストールしていきます。

※ 最新はPySide6だけど乗り換え・修正は簡単

単純に次のコマンドを打つだけです。

▼ 仮想環境内でPySide2をインストール

PySide2本体の消費容量は10MBくらいでした。

※ 仮想環境全体では600MBほど消費

それくらいの空き容量は必要です。

4.ウィンドウを表示するコードを書いてGUI表示

早速ウィンドウ表示するpyコードを書きました。

▼ 次のPythonコード(ファイル名はsample.py)

PySide・PyQT・QT全般の特徴ですが…

クラス名は必ず Q から始まる

これはPythonバンドルに限らず共通ですね。
あとはコメントでどういう処理か注釈しました。

 

それではこのコードでGUIウィンドウを出してみます

▼ Pythonからpyファイルを実行するだけ

▼ ウィンドウ表示できた!

PySide2を使ってスケルトンウィンドウを表示してみた。かなり簡単に表示できて驚き

ここまで簡単に表示できるとは驚き。
エラー1つも出ないので逆に拍子抜けしました笑

こういうGUI関連のAPIって設定の段階から難しかったり、チュートリアルにないような意味不明なエラーが出がちです。少なくともPySideではウィンドウ表示なら簡単にできました。

5.UI作成にはQtDesignerを使うのがベスト

GUI作成はコード手打ちでもできます。
でも果てしなく面倒で苦痛な作業です。

だからQtDesignerというツールを使います。

実はWindowsで開発している場合、
仮想環境構築時に既にインストールされてます。

▼ 仮想環境を有効化して次コマンドを打ってみる

▼ ただしPySide6の場合は次のコマンド

▼ 普通にQtDesignerが起動できる

PySide・PyQtでGUI開発するならQtDesignerを使うのがベスト。というよりマストかもしれない

詳しい使い方とかは次noteを読めば書いてあります。

これはUI作成に便利なので使った方がいいです。
むしろ使わないと余計な労力ばかりかかります。

恐らくPySideは個人的にこれから使っていく予定です。

発見があったら記録していこうと思います。ではまた