[PySide] .uiファイルを.pyに変換して使用する方法

普段は .ui のまま使用してますが、時々.pyにしたいこともあるので
自分で忘れないようにメモ

今回使用したUIファイルは → これ

キャプチャ3

至ってシンプルなLineEditとPushButtonがあるだけのUIです。

まず、作成したUIファイルを .py にコンバートします。

pyside-uic.exe は、PySideインストール時に特になにも指定していない場合
C:/PythonXX/Scripts
下(XXはバージョン)にインストールされます。
Pathを通していない場合は、↑のフォルダにPathを通しておきます。

Pathを通したら、↑のコマンドを、コマンドプロンプト上で実行します。
実行すると、uiファイルが置いてあるフォルダと同じ所に -o で指定した pythonファイルが作成されます。
同じじゃない場所に出したい場合は、フルパス指定でもOKです。

コンバートされた .py ファイルの中身はこんな感じになります。

このファイルを改変してUIを作成しても良いのですが、その場合修正が面倒になってしまうので
基本、Importして使用します。

.ui 時は、QUiLoader()を使用してシーン内に読み込んでますが、
pythonに変換した場合はUiLoaderを使用せず、
コンバートしたファイルに書かれたクラス(今回の場合Ui_Form)オブジェクトを作成後、
setupUi(self) してあげることでDialog上にDesignerで作成したUIを乗っけることが出来ます。

私は、基本コンバートしないで ui のまま使用のほうが多いのですが、
PyInstaller で exe に固める場合なんかは、uiのままだと色々とめんどくさいのでpythonに変換してます。

uiを更新したらpythonにコンバートしてくれる機能とかないもんでしょうかね?

コメントを残す

メールアドレスが公開されることはありません。


*