Maya GUI 対決 – MEL vs Python vs PySide –

ハローワールド!プログラマのマツノブです

皆さんMayaのプラグインを作る上で何に悩みますか?

そうGUIですね!

今回はMayaスクリプトでGUIを実装する方法についてお話しようと思います。

今回の例題としてコンソールに「Hello!」と表示するボタンを配置したウインドウを作ります。

 

MELの場合

Mayaの標準スクリプトであるMelで実装する場合、このようなコードになります。

 

Pythonの場合

構文こそPythonのものになっていますがMELの場合とほとんど変化はありません。

 

PySideの場合

PySide自体に馴染みがない人もいると思いますので軽く説明をすると、PythonのGUIライブラリでQtのPythonバインディングです。

Wiki

注意:MayaのPySideはMayaのバージョンによって、PySideまたはPySide2の違いがあります。

今回はMaya2018でPySide2を使うやり方を紹介します。

 

designer を使用したレイアウト

標準のインストール先にインストールしている場合

C:\Program Files\Autodesk\Maya2018\bin\designer.exe にレイアウトツールがあります。

このツールを使用してGUIのレイアウトを行います。

 

*.ui ファイルを *.py に変換

レイアウトツールで作成した *.ui ファイルをPythonで使いやすいように *.py に変換します。

コマンドプロンプトで下記のようなコマンドを実行することで、*.uiから*.pyファイルを得ることができます。

 

MayaでPythonコマンドを実行する

 

まとめ

PySideは実行に必要な手順が多く使えないように見えますが、複雑なGUIを組む上でレイアウトツールが利用できるのは大きなメリットです。

少ないパーツで構成されたGUIはMEL/Python

複雑な構成のGUIはPySideと使い分けることで、より良いGUI開発ができるのではないでしょうか?

 

それでは今回はここまで

(Visited 3,303 times, 1 visits today)

コメント投稿は締め切りました。