50

qtDesigner で形成された ui を python バージョンに変換して、追加のファイルなしで使用する方法はありますか?

私はこの UI に Maya を使用しています。この UI ファイルを読み取り可能な Python バージョンに変換して実装するのは本当に素晴らしいことです。

4

12 に答える 12

69

pyuic4シェルでコマンドを 使用できます:pyuic4 input.ui -o output.py

于 2013-08-25T15:02:43.133 に答える
11

If you are using windows, the PyQt4 folder is not in the path by default, you have to go to it before trying to run it:

c:\Python27\Lib\site-packages\PyQt4\something> pyuic4.exe full/path/to/input.ui -o full/path/to/output.py

or call it using its full path

full/path/to/my/files> c:\Python27\Lib\site-packages\PyQt4\something\pyuic4.exe input.ui -o output.py
于 2013-09-05T10:13:24.000 に答える
5

PyQt にこのようなスクリプトがあるかどうかはわかりませんが、PySide をインストールすると、pythons スクリプト ディレクトリ "uic.py" にスクリプトがあります。このスクリプトを使用して、.ui ファイルを .py ファイルに変換できます。

python uic.py input.ui -o output.py -x
于 2013-08-25T13:45:22.233 に答える
3

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

update python3: use pyuic5 -help# add filepath 必要に応じて。pyuic バージョン = 4 または 5。

すべてのオプションが一覧表示されます。

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 ファイルで) 継承するようにしてください。調整する必要があるメソッドを表示してパッチまたはオーバーライドします。これにより、多くの作業時間を節約できます。他にご不明な点がございましたら、お気軽にお問い合わせください。

于 2015-02-03T11:05:19.427 に答える
0

私は最近同じ問題に遭遇しました。私が実行したファイルファインダーを使用して 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 ファイルがそこに配置されました。

于 2015-02-01T19:38:15.440 に答える