此问题已经在这里有了答案:
我最近开始使用PyQT5。但是,我遇到了一些正在生成的错误,但它本身的应用程序仍在工作。所有错误均与PyQT相关模块的未定义变量有关。
例如“未定义的变量'QApplication'pylint(未定义的变量)。
[我是在没有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)
在代码顶部添加以下几行:
from PyQt5.QtWidgets import QApplication,QLabel, QMainWindow
from PyQt5.QtCore import *
注意:通配符导入不是最佳的编程方式,但是由于在生产过程中可能需要PyQt5.QtCore的其他模块,因此可能会有帮助。
问题不在于PyQT5。这是VS Code的问题。 VS Code版本中的PyLint无法理解PyQT5变量。这是因为Pylint不支持像PyQT5这样的动态模块。https://github.com/Microsoft/vscode-python/issues/261
要解决此问题,请遵循以下规则:
转到通常位于以下路径的VS Code用户目录
打开settings.json文件。
{
"python.linting.pylintArgs": ["--extension-pkg-whitelist=PyQt5"]
}