【问题标题】:PyQt4 names showing as undefined in eclipse, but it runs finePyQt4 名称在 Eclipse 中显示为未定义,但运行良好
【发布时间】:2023-03-10 01:35:01
【问题描述】:

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

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

此外,我在 Project Explorer 列表中包含了 PyQt4 树。但是,eclipse 仍然认为像 QMainWindow 这样的名称是未定义的。代码运行良好。我怎样才能让 eclipse 识别这些名字。

谢谢

【问题讨论】:

    标签: python eclipse pyqt4 pydev python-2.7


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,Avaris。您的解决方案效果很好并且很有意义。我也很欣赏关于 Python 中良好编程风格的提醒。通常情况下,提倡良好风格的人经历了不遵循它的弊端,即他们知道痛苦。
    【解决方案2】:

    PyDev 有时会失去理智...... 如果重新启动 Eclipse 不起作用,请考虑这样做:

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

    【讨论】:

    • 感谢您的想法,但是,它在多次重新启动后一直存在。一位同事也有同样的问题。我确实重新设置了解释器,我什至将 site-packages\PyQt4 添加为您所描绘的底部窗格中的单独文件夹。
    猜你喜欢
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-29
    相关资源
    最近更新 更多