Maya PySide2 / PySide チュートリアル 概要編

python,qt,PySide,PySide2,Tutorial

Maya PySide2 / PySide チュートリアル 概要編では概要という名の通り、PySide2 / PySide とはなにかという大まかな紹介をします
(以下 PySide2とPySideに違いがない場合はPySideと呼称させていただきます。)

PySideってなに?
PySideってむずかしくないの?
PySideを使うメリットって?
PySideって商用利用できるの?
PySideとPyQtの違いは?

紹介する内容は上の5つの内容でPySideってどういうものなのかを説明していきます
なので今すぐ触りたいんだ!興味ない!って方は読み飛ばしてもらっても問題ないですし、一旦使い方を覚えてから
改めて読み直すというのもありです
それではお付き合いいただければと思います

PySideってなに?

PySideはPythonでGUIを構築するためのクロスプラットフォームなライブラリである。PySideはQtのPythonバインディングである。
出典: フリー百科事典『ウィキペディア(Wikipedia)』

Wikipediaではこういう風に書かれていますがざっくり説明すると
Pythonで使える機能の一つでGUIを作るのに特化したライブラリです、そしてPythonで使えるということは
OS上はもちろんのこと、MayaやHoudiniといったソフトウェア上など異なるソフトで使用できます
Qt(キュート)というC++で使用できるフレームワークがPySideの基になっています

PySideってむずかしくないの?

よくPySideは難しいという話を聞きますが難しいということはないと思っています
というのも実は自分はPythonを始めたのもPySideがきっかけですし、その時はクラスのクの時、どころか関数と変数の違いもわからない状態で使用していました
ただ、Mayaなどのツールにもともと入っている機能でUIを構築するのに慣れていた人がPySideに慣れるまでにはやれることが多いので慣れるまでは少し時間がかかると思いますし
サンプルコードを実行するとMayaが突然クラッシュするなどのお作法がわからないまま進めるとうまくいかないというところがPySideが難しいといわれているところではないでしょうか?
しかし、2015年のころと比べ日本語の情報もずいぶん増えたので学び始めるには十分な情報が集まってきたと思いますので是非、使ってみたいなーって思っている人は簡単なツールから作り始めてみてください!

PySideを使うメリットって?

  • 一度覚えたらほかのプラットフォームでもすぐに試せる
  • 再利用しやすい
  • おしゃれなUIを作れる

PySideを使うメリットは一番大きいのはクロスプラットフォームで使用できるライブラリということなので
作ったGUIをいろいろなソフトウェア上で使用できるつまり、再利用しやすいということです
PySideをMayaやHoudini上で覚えたとしても、そのままOSのアプリケーション作成やほかのソフトウェアに移行してもGUIの作るコードは同じなので新しく覚える内容がそこまでないですし
オリジナルのライブラリーをそのまま流用することができます(そのソフトウェア独自の機能を組み込まないようにしたりと作り方に注意は必要ですが)
知らない人もいるかもしれないですがPySideを使うとおしゃれなUIが作れちゃいますよ!
自分の好きなようにアレンジしておしゃれなUIが作れちゃうんです!!
あーここの幅ちょっと移動したいなーなんてことだけじゃなくアニメーションも付けておしゃれなUIが作れちゃうんです!!!

PySideを使うデメリットって?

PySideを使うデメリットは思いつく限り、個人的には見当たらないですが強いて言えば

  • ラーニングコストがかかる
  • 痒い所に手が届かない時がある(独自ウィジェットの作成が必要?)
  • UXを良くしようとしたらコストがかかる

というところでしょうか

PySideって商用利用できるの?

結論を先に話すと商用利用できます
ただし、バージョンによってライセンスが微妙に異なりますし、選択するライセンスによって注意点が異なりますのでこうしたらいいよとはあえて書きません
この辺は理解して使用していますが嘘の情報を書いてしまうと責任も取れないので、会社員の方は会社内のライセンスに詳しい人に確認をとったりしてください
それ以外の方は公式ページのライセンスをお読みください
現時点の最新バージョンではLGPLv3 / GPLv2のライセンスとなっています
詳しくはQt for Pythonを読んでください
ライセンスはたまに内容が更新されていたりしますので新しいバージョンを利用するときはそのたびに確認したほうがいいかもしれません
Mayaなどに付属しているPySideなどはそのツールを開発した会社のドキュメントや問い合わせをしたほうがいいでしょう

PySideとPyQtの違いは?どっち使えばいいの?

PySideとPyQtの大きな違いはライセンスの違いになっています
また一部PyQtにはPySideにない機能があったりしますが特別な理由がないのであればPySideを利用をおすすめします

ライセンスの違いを大雑把に説明するとPySideは商用利用しやすいPyQtは商用利用ができるが条件が厳しいと思ってもらったほうがいいです
ソフトウェアのオブジェクトコードはかならずソースコードと共に頒布する(あるいは入手手段を提供するや一部改変ソフトウェアの頒布の際はソースコードを公開しなければいけないです
商用利用する際はこの辺がネックになると思います
PyQtはQtやPySideとは異なり、PyQtはLGPLでは利用できず、GPLになっています
こちらも同じく嘘の情報を書いてしまうと責任も取れないので詳しくはLicense FAQを読んでください


おまけ

Qtの新バージョン(バージョン6)に伴い、PyQtとPySideも新バージョンになり、それぞれPyQt6とPySide6と名付けれたものがリリースされています
すぐにPySide6にMayaが対応するということはないとは思いますが近い将来QMLを使ったUIを作成したりするかもしれません
興味がある方はPyQt6 vs PySide6
What's the difference between the two Python Qt libraries? ...and what's exactly the same (most of it)
などを読んでみてはいかがでしょうか?

以上が Maya PySide2 / PySide チュートリアル 概要編 になります
次はMaya PySide2 / PySide チュートリアル 初学編 ①