Buz*_*uzz 5 python pyqt visual-studio-code 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)
Run Code Online (Sandbox Code Playgroud)
Pylance 能够看到该listProfiles属性并将其识别为一个QListView对象:
但没有为其提供自动完成功能:
此外,当鼠标悬停时,会为其指出self.listProfiles一个通用类型:Any
我实在搞不懂这是怎么回事。在想到错误之前,我想假设我已经搞砸了一些事情。
因为我已经和 Pylance 一起工作了一天,所以我想说这并不是在我安装语言服务器后就发生的,但我不确定这条信息,因为我正在处理剧本,也许,我只是没有意识到
代码中没有错误,因为应用程序运行并正常工作。
问题通过交换继承类的顺序来解决:
class ProfileMainWindow(Ui_ProfileMainWindow,QMainWindow):
def __init__(self, model = None):
super().__init__()
self.setupUi(self)
if model:
self.listProfiles.setModel(model)
Run Code Online (Sandbox Code Playgroud)
仍然无法弄清楚为什么以及发生了什么事。
| 归档时间: |
|
| 查看次数: |
2635 次 |
| 最近记录: |