【发布时间】:2014-04-11 14:04:58
【问题描述】:
这个 .ui 文件是由 Qt Designer 制作的。这只是一个简单的用户界面。
我浏览过的网站上执行此操作的所有命令或代码均不适用于 windows。
【问题讨论】:
-
说,pyuic4 -o ui_form.py form.ui 不行。
标签: python user-interface pyqt qt-designer
这个 .ui 文件是由 Qt Designer 制作的。这只是一个简单的用户界面。
我浏览过的网站上执行此操作的所有命令或代码均不适用于 windows。
【问题讨论】:
标签: python user-interface pyqt qt-designer
pyuic 工具在所有平台上的工作方式完全相同:
C:\>pyuic4 -h
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]
我怀疑“它不起作用”的原因是您尝试转换的 .ui 文件不在当前目录中。所以你需要先 cd 到那个目录:
C:\>cd C:\path\to\my\ui\files
然后运行pyuic:
C:\path\to\my\ui\files\>pyuic4 -o ui_form.py form.ui
【讨论】:
在 Windows 中从 .ui 转换为 .py
ui 文件所在的目录。open command window here。cmd,检查你的目录是什么
(pyuic4.bat) file。通常,它位于:
C:\Python34\Lib\site-packages\PyQt4\pyuic4.bat。cmd:C:\Python34\Lib\site-packages\PyQt4\pyuic4.bat -x filename.ui -o filename.py(回车).ui 文件生成一个新文件.py
并且在同一个目录中注意: 此命令适用于 Python 3.4 版本和 PyQt4 版本。 如果您使用其他版本,则应更改数字(例如 PyQt5)
【讨论】:
在pyqt5中你可以使用:
转换为不可执行的python文件:
pyuic5 -o pyfilename.py design.ui
转换成可执行的python文件:
pyuic5 -x -o pyfilename.py design.ui
还有资源 diles(qrc):
将qrc转换成python文件:
pyrcc5 -o pyfilename.py res.qrc
Note:,如果你以错误的方式运行命令,你的ui文件将会丢失。所以你必须复制你的文件:)
【讨论】:
迟到总比从不好,在 windows (.bat) 上创建一个批处理文件并将以下内容粘贴到其中,保存并从与文件相同的目录运行。
@echo off
title .UI to .py files converter !
echo Generate Python files from .UI files!
pause
echo ""
echo ""
echo ""
echo ""
echo UI file Name
set /p UiName=Enter .UI file Name:
echo ""
echo ""
echo ""
echo ""
echo PY file Name
set /p PyName=Enter .PY file Name:
echo ""
echo ""
echo ""
echo Start Converting Files Please wait.
call python -m PyQt5.uic.pyuic -x "%UiName%" -o "%PyName%"
echo QRC file Name
set /p QrName=Enter .qrc file Name:
echo ""
echo ""
echo ""
echo ""
echo PY file Name
set /p PiName=Enter .PY file Name:
echo ""
echo ""
echo ""
echo Start Converting Files Please wait.
pyrcc5 -o "%PiName%" "%QrName%"
echo Job Completed.
pause
【讨论】: