Python 3dsMax2018でuiファイルをpyside2のpyファイルに変換


あれれ?おかしいなぁ~~・・・

変換した覚えのないファイルがあるぞ。
このPySide2用のPyファイルどうやってコンバートしたんだよ・・・。
おかしい、全く覚えてない。が、手元にPySide2で書かれたpyファイルがある。
どこかから落としてきたわけではないく、
確かに手元のUIファイルを変換したようだ・・・
一体どこでコンバートしたんだ?

今のpython2.7にはPySide2を入れていないし。
Maya2018も入っていないからコマンドラインから

mayapy pyside2-uic -o ui_file.py ui_file.ui

といった感じなことも出来ない。
(Maya2018の場合はpyside2があるのでコマンドラインでuiファイルをコンパイルできる)

3dsmaxpy.exe をつかって・・・なんてこともした覚えが一切無い。

 

と悩むこと1時間・・・

あぁ・・。そういうことだったのか。

 

3dsMax2018でQtDesignerで作ったUiをpyファイルにコンパイルする場合は
以下のような感じで、Max上や3dsmaxpyを使ってコンパイルすることが出来る。

from pyside2uic import compileUi

input_file = "D:\\testUi.ui"
output_file = "D:\\testUi.py"

uifile = open(output_file, 'w')
compileUi(input_file, uifile, False, 4, False)
uifile.close()

ようやく謎が解けた。

味噌はここ

from pyside2uic import compileUi

このcompileUiはMax2017側のpysideuicにも入っているので
以下のような感じでもコンパイルできる。

from pysideuic import compileUi

input_file = "D:\\testUi.ui"
output_file = "D:\\testUi_01.py"

uifile = open(output_file, 'w')
compileUi(input_file, uifile, False, 4, False)
uifile.close()

ちょっとばかり勉強不足だった・・・orz

今までイチイチコマンドで
pyside-uic.exe -o ui_file.py ui_file.ui
とか無駄にバッチ組んだりしてたのに、
これなら全部エディターの中で完結できるじゃない。

なんだよ~~もう!

それにしてもだね、PySideとPySide2で
無駄に苦しめられるとはおもわなんだ。

sideもside2も両対応しようとすると
色々とやらないといけない。めんどくさいよねぇ・・・
最初はクロスプラットフォームじゃー!

と張り切っていたのだけど、
色々いじってみると、同じコードをsideとside2のコード
二手に分けたほうがなんだか堅牢な気がしてきた。

となると、せっせとUIファイルを書かないといけないのか?
ん~~。

世の中がpyside2に変わる日が早くきて欲しい。

 

以上今日のメモでした。

Leave a comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください