微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mypy 在 PyQT 中的每个 connect() 上显示“Callable ...没有属性“connect”

如何解决Mypy 在 PyQT 中的每个 connect() 上显示“Callable ...没有属性“connect”

使用PyQt5写代码,使用mypy查找类型错误。但是 mypy 在每个 connect() 上都会发现错误,例如在这个简单文件上:

from PyQt5 import QtWidgets

class TestClass(QtWidgets.QDialog):
    def __init__(self) -> None:
        super().__init__()
        self.accepted.connect(self.accept)

我有 mypy 错误1.py:6: error: "Callable[[],None]" has no attribute "connect"

有什么办法可以解释mypy它是正确的代码吗?我不想对他使用“忽略”评论...

解决方法

为 PyQt5 安装 PyQt5-stubs 类型的存根。

>mypy test.py
test.py:6: error: "Callable[[],None]" has no attribute "connect"
Found 1 error in 1 file (checked 1 source file)

>pip install PyQt5-stubs
Collecting PyQt5-stubs
  Downloading PyQt5_stubs-5.15.2.0-py3-none-any.whl (371 kB)
     |████████████████████████████████| 371 kB 3.3 MB/s
Installing collected packages: PyQt5-stubs
Successfully installed PyQt5-stubs-5.15.2.0

>mypy test.py
Success: no issues found in 1 source file

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。