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

11 投票
2 回答
5294 浏览
提问于 2025-04-17 06:03

我正在使用Eclipse 3.7.1,并且安装了最新的PyDev插件来进行Python编程。我在用PyQt4。在我的文件顶部有:

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

另外,我在项目资源管理器中也包含了PyQt4的树形结构。但是,Eclipse还是认为像QMainWindow这样的名字是未定义的。虽然代码运行得很好,但我该如何让Eclipse识别这些名字呢?

谢谢

2 个回答

0

有时候,PyDev会出现一些奇怪的问题……如果重启Eclipse没有解决问题,可以试试这个方法:

PyDevPreferencs

点击“应用”按钮,然后选择你的Python解释器。这样可以让Eclipse重新找到已经存在的库。

16

PyQt其实是对C++的Qt库的封装。所以它们并不是.py文件,PyDev无法分析它们的内容。你需要在强制内置选项卡中添加PyQt4,这样PyDev才能使用Python的命令行工具去“查看”这些库的内容,了解里面有什么。这也会让你在使用PyQt时获得代码补全的功能。

另外,通常不建议使用from foo import *这种写法。这样会把你命名空间里的所有东西都导入进来,你可能不知道哪些是从哪里来的。而且可能会出现名字冲突,互相覆盖。虽然在使用PyQt时这种情况不太可能发生,但我还是建议你习惯使用from PyQt4 import QtGui, QtCore,然后像QtGui.QMainWindow这样引用类。

撰写回答