QtDesignerで作成されたUIをpythonバージョンに変換して、余分なファイルなしで使用する方法はありますか?
このUIにMayaを使用していますが、このUIファイルを読み取り可能なpythonバージョンに変換して実装するのは本当に素晴らしいことです。
シェルでpyuic4
コマンドを使用できます:pyuic4 input.ui -o output.py
Windowsを使用している場合、PyQt4フォルダーはデフォルトではパスにありません。実行する前にそのフォルダーに移動する必要があります。
c:\Python27\Lib\site-packages\PyQt4\something> pyuic4.exe full/path/to/input.ui -o full/path/to/output.py
または、フルパスを使用して呼び出します
full/path/to/my/files> c:\Python27\Lib\site-packages\PyQt4\something\pyuic4.exe input.ui -o output.py
Pyqt5には次を使用できます
pyuic5 xyz.ui > xyz.py
または
pyuic5 xyz.ui -o xyz.py
.uiを.pyに変換する最も簡単な方法は、ターミナルからです:
pyuic4 -x input.ui -o output.py
Pyqt4-dev-toolsがインストールされていることを確認してください。
PyQtにこのようなスクリプトがあるかどうかはわかりませんが、PySideをインストールした後、pythonsスクリプトディレクトリ「uic.py」にスクリプトがあります。このスクリプトを使用して、.uiファイルを.pyファイルに変換できます。
python uic.py input.ui -o output.py -x
質問はすでに回答されていますが、開発中にショートカットを探している場合、pythonスクリプトの先頭にこれを含めると、時間を節約できますが、実際に変換を行う必要があることを忘れることができます。 。
import os #Used in Testing Script
os.system("pyuic4 -o outputFile.py inpuiFile.ui")
PyQt4のすべてのサイド機能をインストールする必要はありません。PyQt4パッケージ自体が必要です。パッケージ内では、モジュールpyuic.py( "C:\ Python27\Lib\site-packages\PyQt4\uic")を使用してUiファイルを変換できます。
C:\ test> python C:\ Python27x64\Lib\site-packages\PyQt4\uic\pyuic.py -help
すべてのオプションがリストされます:
Usage: pyuic4 [options] <ui-file>
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-p, --preview show a preview of the UI instead of generating code
-o FILE, --output=FILE
write generated code to FILE instead of stdout
-x, --execute generate extra code to test and display the class
-d, --debug show debug output
-i N, --indent=N set indent width to N spaces, tab if N is 0 [default:
4]
-w, --pyqt3-wrapper generate a PyQt v3 style wrapper
Code generation options:
--from-imports generate imports relative to '.'
--resource-suffix=SUFFIX
append SUFFIX to the basename of resource files
[default: _rc]
したがって、コマンドは次のようになります。
C:\test>python C:\Python27x64\Lib\site-packages\PyQt4\uic\pyuic.py test_dialog.ui -o test.py -x
ファイルへのフルファイルパスを使用して変換することもできます。
とにかくそれを変換したいのですか?デザイナーでウィジェットを作成し、*。uiファイルを使用してそれらを実装することを好みます。これにより、後で編集するのがはるかに快適になります。また、独自のウィジェットプラグインを作成し、フルアクセスでQt Designerにロードすることもできます。 UIをハードコーディングしても、柔軟性が高くなりません。
Mayaだけでなく、Max、Nukeなどでも多くのuiを再利用します。ソフトウェア固有の何かを変更する必要がある場合は、よりグローバルなポイントから(親のuiファイルを使用して)クラスを継承してください。調整する必要があるメソッドを表示してパッチを適用するか、オーバーライドします。それは多くの作業時間を節約します。さらに質問がある場合はお知らせください。
python 3.xでPyQt5を使用しているユーザー向けの更新:
.ui
ファイルがあるフォルダーにcdします。"C:\python\Lib\site-packages\PyQt5\pyuic5.bat" -x Trial.ui -o trial_gui.py
PyQt5がパス変数でない場合。引用符で囲まれたパス ""は、pyuic5.bat
ファイルの場所を表します。これは動作するはずです!
Ubuntuの場合、次のコマンドで機能します。個々のファイルに、ファイルを個別に実行するためのメインメソッドを含める場合は、テスト目的で、
pyuic5 filename.ui -o filename.py -x
ファイルにメインメソッドがありません。個別に実行できません...試してください
pyuic5 filename.ui -o filename.py
考えてみて、私はPyQT5を使用しています。
最近、同じ問題に遭遇しました。私が実行したファイルファインダーを使用して、pyuic4ファイルへの正しいパスを見つけた後:
C:\ Users\ricckli.qgis2\python\plugins\qgis2leaf> C:\ OSGeo4W64\bin\pyuic4 -o ui_q gis2leaf.py ui_qgis2leaf.ui
あなたが見ることができるように、私のUIファイルはこのフォルダに配置されました...
QT Creatorを個別にインストールし、OSGEO4Wインストーラーでpyuic4ファイルをそこに配置しました