我正在使用Eclipse 3.7.1和Python编码的最新PyDev插件。我正在使用PyQt4。在我的文件的顶部,我有:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
此外,我还有Project Explorer列表中包含的PyQt4树。然而,eclipse仍然认为像QMainWindow这样的名字是未定义的。代码运行正常。我怎么能让eclipse识别这些名字。
由于
答案 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不能解决问题,请考虑这样做:
单击“应用”按钮并选择您的python解释器。这应该迫使Eclipse恢复现有的库。