python 尝试将 .ui 文件转换为 .py 时 uic 中缺少生成器

python generator missing in uic while trying to convert .ui file to .py

我正在尝试使用 uic file.ui -o file.py 和其他组合将 .ui 文件转换为 python 文件,但即使生成的文件是 .py 文件,其中的代码是 c++。在谷歌搜索和研究一些 uic 前缀后,我注意到在我的 uic --help 菜单中我只有 java 和 cpp 生成器,但在每个教程中 ppl 都有 python|cpp 生成器。

这可能是什么原因,如何解决?

python 的生成器已在最新版本的 Qt 中引入,因此它可能在您的 5.9.7 版本的 Qt 中不可用,因此您必须安装更新的版本,例如在我的例子中,我使用版本 5.15.2:

Usage: uic [options] [uifile]
Qt User Interface Compiler version 5.15.2

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.

所以现在我可以通过 运行:

将 .ui 转换为 .py
uic file.ui -o file.py -g python

首先,在 Ubuntu 中,我发现错误写在控制台中:bash: qic。它通过安装 pyside2-tools 来解决 sudo apt-get install pyside2-tools。文件转换由uic /usr/home/menu.ui > /usr/home/menu.py

执行