我正在尝试使用 Qt Designer 和 pyside-uic mydesign.ui > design.py
但是,该程序不存在。我查看了 python 2.7 下的站点包,我看到: pyside-lupdate.exe pyside-rcc.exe
和一堆其他程序,但是没有pyside-uic.exe之类的东西……为什么?为什么安装包中缺少它?我在哪里得到它?
如果您使用 homebrew 安装了 PySide,您还需要安装pyside-tools
软件包来获取这些命令行工具:
$ brew install pyside-tools
您应该会看到 /Python27/Scripts/pyside-uic.exe。但我想知道为什么它不可见(不可执行)。也许这是一个包装问题(权限等)。您可以尝试使用完整路径调用它。
当我使用 conda 安装时,py-uic.exe 没有被解压。通过卸载和使用 pip 解决了该问题。
>pip install pyside
对于 Mac,它适用于我运行以下命令(需要安装 macports):
sudo port install py27-pyside-tools
它安装在我的 Python 2.7 环境中。我希望它有所帮助。
几年过去了,有些事情已经解决了:我想现在的官方答案是:
使用uic.exe
!但是怎么做?
因此,尽管官方文档仍然缺少任何有关它的信息,但您现在可以.ui
使用您通过pip install PySide2
. 你会这样写:
uic.exe -g python your_design.ui -o your_design_ui.py
your_design.ui
Qt Designer 文件和your_design_ui.py
要生成的目标 Python 文件在哪里。瞧!
顺便说一句:这是来自的帮助uic -?
C:\Python38\Lib\site-packages\PySide2>uic.exe -h
Usage: uic.exe [options] [uifile]
Qt User Interface Compiler version 5.15.0
Options:
-?, -h, --help Displays help on commandline options.
--help-all Displays help including Qt specific options.
-v, --version Displays version information.
-d, --dependencies Display the dependencies.
-o, --output <file> Place the output into <file>
-a, --no-autoconnection Do not generate a call to
QObject::connectSlotsByName().
-p, --no-protection Disable header protection.
-n, --no-implicit-includes Disable generation of #include-directives.
-s, --no-stringliteral Deprecated. The use of this option won't take
any effect.
--postfix <postfix> Postfix to add to all generated classnames.
--tr, --translate <function> Use <function> for i18n.
--include <include-file> Add #include <include-file> to <file>.
-g, --generator <python|cpp> Select generator.
--idbased Use id based function for i18n
--from-imports Python: generate imports relative to '.'
Arguments:
[uifile] Input file (*.ui), otherwise stdin.
如果有人需要它,对于 Ubuntu 18.04,我需要先安装 pyside-tools 包。希望有帮助。
sudo apt-get install pyside-tools