无法启动Qt uic

时间:2012-12-09 22:25:21

标签: python-3.x qt4 pyside

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

6 个答案:

答案 0 :(得分:4)

虽然您当然可以使用Qt Designer为PySide / PyQt创建UI,但您应该知道它主要是一个C ++工具 - 它没有任何内置的Python支持。因此,您引用的“查看代码...”命令仅生成C ++代码 - 如果您打算使用PySide或PyQt,这可能对您没什么用。

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

要在Python中使用它们,基本上有两个选项:

  1. 将.ui文件直接加载到您的应用程序中。
  2. 使用外部工具将.ui文件转换为Python模块。
  3. PySide和PyQt在如何实现这两个选项方面存在一些差异。

    对于PyQt,可以找到两个选项的完整文档here

    对于PySide,可以找到选项1的文档here - 但看起来没有任何关于选项2的文档。但是,PySide的外部工具(称为pyside-uic )与PyQt(称为pyuic4)的工作方式非常相似。

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

答案 1 :(得分:2)

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

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

但是我发现uicexe文件在C:\ python374 \ Lib \ site-packages \ pyqt5_tools \ Qt \ bin文件夹中 因此,我创建了另一个bin文件夹,并将uic.exe复制到该文件夹​​中。那解决了我的问题。

答案 2 :(得分:1)

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

 pyuic5 -m untitled.ui -o untitled.py

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

答案 3 :(得分: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”所在的文件夹明显存在。

答案 4 :(得分:0)

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

enter image description here

答案 5 :(得分:0)

对于 Linux 计算机

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

您可以在 uic 中找到所需的 venv-path/python3.x/site-packages/PySide2/uic 文件 复制此文件,并在 Qt 文件夹内创建一个新文件夹 binvenv-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)

最终结果:

enter image description here