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

Kev*_*chs 11 python eclipse pydev pyqt4 python-2.7

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

from PyQt4.QtCore import *
from PyQt4.QtGui import *
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Ava*_*ris 16

PyQt实际上是C++ Qt库的包装.因此它们不是.py文件,PyDev无法分析它们以获取其中的内容.您需要添加PyQt4强制内建命令选项卡,这样PyDev就可以使用一个Python壳"调查"那些库,知道什么是他们.这也将为您提供PyQt的代码完成功能.

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