有没有办法将使用qtDesigner生成的用户界面转换为无需额外文件即可使用的Python版本?将pyQt UI转换为python
我正在使用Maya进行此UI,并将此UI文件转换为可执行的可读蟒蛇版本将非常棒!
有没有办法将使用qtDesigner生成的用户界面转换为无需额外文件即可使用的Python版本?将pyQt UI转换为python
我正在使用Maya进行此UI,并将此UI文件转换为可执行的可读蟒蛇版本将非常棒!
您可以在外壳使用pyuic4
命令: pyuic4 input.ui -o output.py
如何安装pyuic4?这是说'pyuic4'不被识别,我假设我必须安装它? –
您必须安装Qt和PyQt(或Pyside)才能使用'pyuic4'工具,它可以将您的ui文件转换为Python文件。 – Frodon
我知道这是一个老问题,但在其他人想知道的情况下,要在Ubuntu上安装pyuic4:'sudo apt-get install pyqt4-dev-tools qt4-designer' –
我不确定PyQt是否有这样的脚本,但是在安装PySide之后,在pythons脚本目录“uic.py”中有一个脚本。你可以使用这个脚本到的.ui文件转换为.py文件:
python uic.py input.ui -o output.py -x
我是否从maya或命令行执行此操作? –
你有没有看到我的回应? –
在某些系统上,这可能被称为pyside-uic并且是可执行的。顺便说一句,是的,它将从命令行运行,因为它用于任何应用程序开发,而不仅仅是Maya。 – Ben
如果您使用的是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
我最近遇到了同样的问题。找到正确的路径使用文件查找器我已经跑了:
C:\ Users \ ricckli.qgis2 \ python \ plugins \ qgis2leaf> C:\ OSGeo4W64 \ bin \ pyuic4 -o ui_q gis2leaf。 PY ui_qgis2leaf.ui
正如你可以看到我的UI文件放在这个文件夹中...
Qt Creator的是单独安装和pyuic4文件与OSGEO4W安装
你不要摆在那里不得不安装PyQt4的所有功能,你只需要PyQt4软件包本身。在包内,你可以使用模块pyuic.py(“C:\ Python27 \ Lib \ site-packages \ PyQt4 \ uic”)来转换你的Ui文件。
C:\测试>蟒蛇C:\ Python27x64 \ LIB \站点包\ 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文件实现它们。这使得稍后编辑它变得更加舒适。你也可以编写你自己的Widget插件,并将它们加载到Qt设计器中,并具有完全访问权限。让你的UI硬编码不会使它变得非常灵活。
我重用了很多我的用户界面,不仅在Maya中,还用于Max,Nuke等。如果您必须更改特定软件的某些东西,您应该尝试继承该类(使用父文件)更全局的观点和补丁或覆盖你必须调整的方法。这节省了大量的工作时间。如果您对此有更多疑问,请告诉我。
将.ui转换为最快的方法。PY是从终端:
pyuic4 -x input.ui -o output.py
确保已安装PyQt4的-DEV-工具。
这个问题已经得到解答,但是如果你在开发过程中寻找一个快捷方式,包括这个在你的python脚本的顶部会节省你一些时间,但主要是让你忘记了实际上必须进行转换。
import os #Used in Testing Script
os.system("pyuic4 -o outputFile.py inpuiFile.ui")
对于pyqt5可以使用
pyuic5 xyz.ui > xyz.py
或
pyuic5 xyz.ui -o xyz.py
在堆栈: http://stackoverflow.com/questions/2398800/linking-a-qtdesigner-ui -file-to-python-pyqt –