5

我已经安装了 Qt 设计器 4.8.2、Pyside 和 Python 3.3。当我使用 Qt 设计器创建表单时,单击查看代码时看不到代码。错误消息是:“无法启动 C:\Qt\4.8.2\bin\uic”。我在 C:\Python33\Lib\site-packages\PyQt4\uic 下有 pyuic。请帮忙。

4

6 回答 6

5

只需创建一个目录,在其中搜索 uic.exe 文件并将现有的 uic.exe 文件复制到该目录。

我的示例:当我单击查看代码时,它显示在路径 C:\python374\Lib\site-packages\pyqt5_tools\Qt\bin\bin 中询问文件 uic.exe 时出错

但我发现 uicexe 文件位于 C:\python374\Lib\site-packages\pyqt5_tools\Qt\bin 文件夹中所以我创建了另一个 bin 文件夹并将 uic.exe 复制到该文件夹​​中。这解决了我的问题。

于 2019-08-25T07:48:50.503 回答
4

尽管您当然可以使用 Qt Designer 为 PySide/PyQt 创建 UI,但您应该知道它主要是一个 C++ 工具——它没有任何对 Python 的内置支持。因此,您所指的“查看代码...”命令只会生成 C++ 代码——如果您打算使用 PySide 或 PyQt,这对您来说可能没有多大用处。

Qt Designer UI 文件采用 XML 格式(它们通常具有 .ui 扩展名)。

要将它们与 Python 一起使用,基本上有两种选择:

  1. 将 .ui 文件直接加载到您的应用程序中。
  2. 使用外部工具将 .ui 文件转换为 Python 模块。

PySide 和 PyQt 在这两个选项的实现方式上有几个不同之处。

对于 PyQt,这两个选项的完整文档可以在这里找到。

对于 PySide,可以在此处找到选项 1 的文档- 但似乎没有选项 2 的任何文档。但是,PySide 的外部工具(称为pyside-uic)的工作方式与 PyQt 的工具非常相似(即叫叫pyuic4)。

如果您需要有关如何开始使用 Qt 和 Python 的更多一般信息,请尝试PySide WikiPyQt Wiki

于 2012-12-10T03:11:43.247 回答
3

如果您正在寻找生成 python 代码,您可以从控制台执行此操作。因此,如果您将程序中的文件保存为“无标题”(默认),请运行以下命令:

 pyuic5 -m untitled.ui -o untitled.py

确保您的工作目录是“untitled.ui”的文件位置。然后它将 untitled.py 吐到同一个地方。

于 2018-10-13T22:34:20.257 回答
2

在文件夹内创建一个名为 bin 的文件夹,并将 exe 移动到 uic.exe 中。它在单击 QT 设计器中的查看代码时显示代码。

在此处输入图像描述

于 2020-10-21T14:13:43.923 回答
1

表格->查看代码

使用 Qt4 或 Qt5直接从Qt Designer工作,您只需从Qt Designer正在查找的位置创建一个符号链接,指向您的pyuic5.exe可执行文件所在的位置。以您的示例为例,它将是:

mklink /H "C:\Qt\4.8.2\bin\uic.exe" "C:\Python33\Lib\site-packages\PyQt4\pyuic4.exe"

这是:

mklink /H "Path\to\uic.exe\file\Qt\designer\is\looking\for" "Path\to\actual\location\of\pyuic4.exe\or\pyuic5.exe\file"

确保“C:\Qt\4.8.2\bin\uic.exe”所在的文件夹明显存在。

于 2019-02-06T11:08:53.117 回答
0

对于 Linux 计算机

如果有人仍然遇到这个问题并且您正在使用 Linux。

uic您可以在venv-path/python3.x/site-packages/PySide2/uic 复制此文件中找到所需的文件,并bin在 Qt 文件夹中创建一个新文件夹。venv-path/python3.x/site-packages/PySide2/Qt/bin

现在将uic文件放在那里,这样,最终uic路径是: venv-path/python3.x/site-packages/PySide2/Qt/bin/uic

注意::

  • venv-path是你的 python 虚拟环境的路径。
  • 3.x是虚拟环境中 Python 的适当版本。(在我的情况下是3.8)

最后结果:

在此处输入图像描述

于 2021-07-11T17:05:44.807 回答