Python VSCode+;Pylance:已识别类属性,但没有可用的自动完成

Python VSCode+;Pylance:已识别类属性,但没有可用的自动完成,python,visual-studio-code,pyqt,pylance,Python,Visual Studio Code,Pyqt,Pylance,我最近在VSCode上安装了Pylance作为python语言服务器。 我正在用PyQt5构建一个应用程序。在所讨论的剧本中, 我正在继承由pyqt5 uic自动生成的UI python脚本listProfiles是在Ui\u profilemain窗口中生成的QListView对象 class ProfileMainWindow(QMainWindow, Ui_ProfileMainWindow): def __init__(self, model = None): s

我最近在VSCode上安装了Pylance作为python语言服务器。 我正在用PyQt5构建一个应用程序。在所讨论的剧本中, 我正在继承由pyqt5 uic自动生成的UI python脚本
listProfiles
是在
Ui\u profilemain窗口中生成的
QListView
对象

class ProfileMainWindow(QMainWindow, Ui_ProfileMainWindow):
    def __init__(self, model = None):
        super().__init__()
        self.setupUi(self)
        if model:
            self.listProfiles.setModel(model)
Pylance能够看到
listProfiles
属性,并将其识别为
QListView
对象:

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

此外,当鼠标位于self.listProfiles
上方时,会为其指出一个通用的
Any
类型:

我真的搞不懂发生了什么事。 在想到bug之前,我想假设我把事情搞砸了

由于这是我与Pylance合作的一天,我想说,在我安装语言服务器时,这并没有发生,但我不确定这段信息,因为我正在处理脚本的另一部分,也许,我只是没有意识到这一点

代码中没有错误,因为应用程序可以正常运行和工作

编辑1 通过交换继承类的顺序,问题得以解决:

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

仍然无法找出原因和发生了什么。

super
可能会导致多重继承(blabla解析)的奇怪行为,最好不要使用
super
,并且始终从所需的类调用该方法,如
QMainWindow。u_u初始化(self)
它在同一文件中具有自定义类的测试脚本中工作吗?PyLance是否拾取字段?在Qt中,所有类的所有字段都隐藏在外部世界看不见的阴影对象中。检查Qt对象所在的py文件defined@rioV8,尝试替换
QMainWindow.\uuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwork@BuzzPylance可能使用编译库(用C++编写)不支持的某些功能实现自动完成像pyqt.is
Ui\u ProfileMainWindow
a
QMainWindow
或者它们是否有共享基类?我的
super
评论不是问题的解决方案,而是一般性的非使用建议