pylint can't find QWidget and QApplication

2019-02-13 13:45发布

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_())

I just started to learn pyqt5. I wrote this hello world app, which works. But pylint gives "E0611:No name 'QWidget' in module 'PyQt5.QtWidgets'" and same for QApplication. Is it some kind of bug in 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]

2条回答
爱情/是我丢掉的垃圾
2楼-- · 2019-02-13 14:30

I found solution in this page: http://python.6.x6.nabble.com/PyQt-and-pylint-with-quot-no-name-in-module-quot-td5217888.html

so using it in terminal as (for main.py):

pylint main.py --extension-pkg-whitelist=PyQt5
查看更多
Summer. ? 凉城
3楼-- · 2019-02-13 14:37

(Ubuntu) I've created a ~/.pylintrc file and added there

[MASTER]
extension-pkg-whitelist=PyQt5

It is more convenient. And now pylint applies this configuration even in my Visual Studio Code editor.

Or in VSCode settings:

"python.linting.pylintArgs": [
    "--extension-pkg-whitelist=PyQt5"
],
查看更多
登录 后发表回答