VSCode + Pylance:已识别类属性但没有自动完成功能

问题描述

我最近在 VSCode 上安装了 Pylance 作为 python 语言服务器。 我正在用 PyQt5 构建一个应用程序。在有问题的脚本中, 我正在继承由 pyqt5 uic 自动生成的 UI python 脚本。 listProfiles 是在 QListView

生成Ui_ProfileMainWindow 对象
class ProfileMainWindow(QMainWindow,Ui_ProfileMainWindow):
    def __init__(self,model = None):
        super().__init__()
        self.setupUi(self)
        if model:
            self.listProfiles.setModel(model)

Pylance 能够看到 listProfiles 属性并将其识别为 QListView 对象:

enter image description here

但没有为其提供自动完成功能

enter image description here

此外,当鼠标悬停在 self.listProfiles 上时,会为它指出一个通用的 Any 类型:

enter image description here

我真的不知道发生了什么。 我想假设我在考虑错误之前已经搞砸了。

因为我在 Pylance 工作了一天,所以我会说这并没有在我安装语言服务器后立即发生,但是我不确定这条信息,因为我正在研究脚本的另一部分,也许,我只是没有意识到

代码中没有错误,因为应用程序运行正常。

编辑 1

交换继承类的顺序问题解决了:

class ProfileMainWindow(Ui_ProfileMainWindow,QMainWindow):
    def __init__(self,model = None):
        super().__init__()
        self.setupUi(self)
        if model:
            self.listProfiles.setModel(model)

仍然无法弄清楚为什么以及发生了什么。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...