pylint 找不到 QWidget 和 QApplication

问题描述 投票:0回答:4
import sys
from PyQt5.QtWidgets import (QApplication, QWidget)
app = QApplication(sys.argv)
window = QWidget()
window.setGeometry(50, 50, 500, 300)
window.setWindowTitle('Hello, world')
window.show()
sys.exit(app.exec_())

我刚刚开始学习pyqt5。我写了这个 hello world 应用程序,它可以工作。但 pylint 给出“E0611:模块‘PyQt5.QtWidgets’中没有名称‘QWidget’”,QApplication 也是如此。这是 pylint 中的某种错误吗?

pylint --version
No config file found, using default configuration
pylint 1.7.2, 
astroid 1.5.3
Python 3.5.2 (default, Aug 18 2017, 17:48:00) 
[GCC 5.4.0 20160609]
python pyqt pyqt5 pylint
4个回答
29
投票

(Ubuntu)我创建了一个

~/.pylintrc
文件并添加到那里

[MASTER]
extension-pkg-whitelist=PyQt5

比较方便。现在 pylint 甚至在我的 Visual Studio Code 编辑器中也应用了此配置。

或者在 VSCode 设置中:

"python.linting.pylintArgs": [
    "--extension-pkg-whitelist=PyQt5"
],

4
投票

我在此页面找到了解决方案: http://python.6.x6.nabble.com/PyQt-and-pylint-with-quot-no-name-in-module-quot-td5217888.html

因此在终端中使用它作为(对于 main.py):

pylint main.py --extension-pkg-whitelist=PyQt5

0
投票

多是Qt5和Pylint结合造成的。因此,如果您使用的是 VsCode,请在工作区设置中更新它。

"python.linting.pylintArgs": [
    "--extension-pkg-whitelist=PyQt5"
],



0
投票

如果您在 VS Code 中切换到新的 pylint 工具扩展,请将以下设置添加到您的 settings.json

{
    "pylint.args": [
        "--extension-pkg-whitelist=PyQt5"
    ],
}

或者,您可以在 pyproject.toml 文件中进行设置:

[tool.pylint.main]
extension-pkg-whitelist = ["PyQt5"]
© www.soinside.com 2019 - 2024. All rights reserved.