【问题标题】:Errors faced when using PYQT [duplicate]使用 PYQT 时遇到的错误 [重复]
【发布时间】:2020-02-27 06:03:21
【问题描述】:

我最近开始使用 PyQT5。但是,我面临着几个正在生成的错误,但它自己的应用程序仍在工作。所有错误都是针对 PyQT 相关模块的未定义变量。

例如"未定义变量 'QApplication' pylint(undefined-variable)。

由于我正在学习一个在 PyQT 或 pylint 方面没有真正专业知识的教程,我不确定这是什么以及这对我的项目有多有害。这个可以解决吗,如果可以怎么办?如果没有,是否有可能的解决方法?

以下不是我最初报告此错误的确切代码(我只是在遵循教程,因此它们都不是复杂代码)但是以下产生完全相同的错误,这表明它确实不是脚本本身并且是可能是 Visual Studio 代码或 Pylint 问题。

import sys
import time
# Self explanatory.
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

# Create QApplication Object. Something all applications must have one of.
app = QApplication(sys.argv)

【问题讨论】:

  • 您的快照不显示文件顶部;很难猜测您的代码是否错误或 pylint 配置错误。尽管如果您的代码有效,则可能是 pylint 配置问题。
  • 请将您的代码和堆栈跟踪(错误描述)作为帖子中的文本发布,而不是作为屏幕截图的链接。
  • 作为助手,您可能需要考虑使用 PySide 而不是 PyQt 作为 Qt 的 Python 绑定,因为 PySide 正在集成到 Qt 中:wiki.qt.io/Qt_for_Python
  • 我已按要求更新了帖子。

标签: python python-3.x pyqt pyqt5 pylint


【解决方案1】:

问题不在于 PyQT5。这是VS Code的问题。 VS Code 构建中的 PyLint 无法理解 PyQT5 变量。这是因为 Pylint 不支持像 PyQT5 这样的动态模块。 https://github.com/Microsoft/vscode-python/issues/261

要解决问题,请遵循以下规则:

  1. 转到通常位于以下路径的 VS Code 用户目录

    • Windows:%APPDATA%\Code\User\settings.json
    • ma​​cOS : $HOME/Library/Application Support/Code/User/settings.json
    • Linux : $HOME/.config/Code/User/settings.json
  2. 打开 settings.json 文件。

  3. 在文件末尾写入以下命令:
   {
    "python.linting.pylintArgs": ["--extension-pkg-whitelist=PyQt5"]
   }
  1. 保存文件。
  2. 运行您的代码并告诉我错误是否已修复。

【讨论】:

  • 不幸的是它不起作用。事实上,它也产生了一些空白错误。
  • 我不小心写了 cv2 而不是 PyQt5。在 --extension-pkg-whitelist= 之后用 PyQt5 替换 cv2 再试一次。我已经编辑了答案。
  • 我已按要求进行了更改,但错误仍然存​​在。
  • @ChadLangford 试试changing your linterflake8。根据this vscode issue,问题是特定于pylint的。
  • 尝试将 "python.linting.pylintArgs": ["--extension-pkg-whitelist=PyQt5"] 放在已经存在的 { } 中,而不是创建新的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-29
  • 1970-01-01
  • 1970-01-01
  • 2019-05-16
  • 2021-04-19
  • 2018-11-07
  • 1970-01-01
相关资源
最近更新 更多