PyQt4名称在eclipse中显示为未定义,但运行正常

时间:2011-11-10 15:48:06

标签: python eclipse pyqt4 pydev python-2.7

我正在使用Eclipse 3.7.1和Python编码的最新PyDev插件。我正在使用PyQt4。在我的文件的顶部,我有:

from PyQt4.QtCore import *
from PyQt4.QtGui import *

此外,我还有Project Explorer列表中包含的PyQt4树。然而,eclipse仍然认为像QMainWindow这样的名字是未定义的。代码运行正常。我怎么能让eclipse识别这些名字。

由于

2 个答案:

答案 0 :(得分:16)

PyQt实际上是C ++ Qt库的包装。因此它们不是.py文件,PyDev无法分析它们以获取其中的内容。您需要在Forced Builtins选项卡中添加PyQt4,以便PyDev可以使用Python shell“查看”这些库并了解其中的内容。这也将为你提供PyQt的代码完成。

除此之外,使用from foo import *通常不是一个好习惯。您将导入命名空间内的所有内容,但您不知道哪个来自哪里。此外,您可能会有名称冲突相互掩盖。虽然PyQt不太可能,但我仍然建议您习惯from PyQt4 import QtGui, QtCore并引用QtGui.QMainWindow等类。

答案 1 :(得分:0)

有时PyDev会失去理智...... 如果重新启动Eclipse不能解决问题,请考虑这样做: PyDevPreferencs

单击“应用”按钮并选择您的python解释器。这应该迫使Eclipse恢复现有的库。

相关问题