我写了很多自定义小部件插件,可以在Qt Designer和我的管道中使用它们。
这在我的Mac上运行良好(Mavericks,PyQt4,Python 2.7),本周我也希望在我的Windows环境中实现这些插件。但它不起作用。这些插件没有出现在左侧的Qt Designer的Widget Box中(Windows 7,PyQt4,Python 2.7)。
经过大量尝试后,我下载了PyQt4示例文件,并按照以下说明进行操作:PyQt Reference Guide以及说明 从示例启动器文件 examples / designer / plugins / plugins.py 本身,但它仍然无法正常工作。
所以我复制了以下示例文件:
只是让代码尽可能简单,找出问题所在。
所以,这是我的测试 plugins.py 文件:
#!/usr/bin/env python
import sys
import os
from PyQt4 import QtCore, QtGui, uic
env = os.environ.copy()
env['PYTHONPATH'] = r"C:\designer_widgets" #("%s"%os.pathsep).join(sys.path)
env['PYQTDESIGNERPATH'] = r"C:\designer_plugins"
qenv = ['%s="%s"' % (name, value) for name, value in env.items()]
# Start Designer.
designer = QtCore.QProcess()
designer.setEnvironment(qenv)
designer_bin = r"C:\Python27x64\Lib\site-packages\PyQt4\designer.exe"
designer.start(designer_bin)
designer.waitForFinished(-1)
sys.exit(designer.exitCode())
我认为我的设计器对象没有找到正确的路径,因此我实施了以下内容来检查它的环境:
# Check if paths are right
print "\n # Designer Env:"
for pypath in designer.environment():
if "PYTHONPATH" in pypath:
print " # ",pypath
if "PYQTDESIGNERPATH" in pypath:
print " # ",pypath
控制台输出:
# Designer Env:
# PYQTDESIGNERPATH="C:\designer_plug"
# PYTHONPATH="C:\designer_widgets"
路径是对的。就像我说的,在我的Mac上它完美无缺。 我也尝试使用不同的Qt Designer安装。但两个(PyQt4和PySide)设计师都没有展示任何示例插件。 Qt Designer都无法找到示例插件。我使用Help / About Plugins在设计器中仔细检查了它。
任何想法我做错了什么?或者这通常不适用于Windows 7系统?
答案 0 :(得分:0)
全部修复。我重建了PyQt4,所以我想我过去在Qt的源代码中犯了一个错误。