如何使用 pyside 正确设置 vscode?缺少建议

Sew*_*cca 6 python pyside visual-studio-code pyside2

我对 pyside、qt 和 python 很陌生。我设法设置一个带有基本窗口和关闭应用程序的按钮的项目。我的问题是,尽管代码可以很好地运行,但 vscode 不会显示所有可用的属性。 vscode-pyside2-问题-1.png 请注意除了 signal 之外,如何建议一堆其他属性clicked。如果我将鼠标悬停在 上clicked,它会告诉我clicked: Any 仅在调试期间,vscode 会告诉我单击的是什么: vscode-pyside2-问题-2.png 当前设置:

  • 操作系统:Linux
  • Virtualenv 已pyside2安装
  • 使用ms-python.python和ms-python.vscode-pylance
  • ui/MainWindow.ui文件和相应的生成ui/MainWindow_ui.ui文件pyside2-uic

Mor*_*phy 8

您可以通过运行手动生成存根

pyside6-genpyi all
Run Code Online (Sandbox Code Playgroud)

PySide2 有相同的工具,不仅仅是 PySide6。

编辑:PySide2 似乎不需要相同的工具,pyside2-stubs自 2022 年 5 月 21 日以来有一个新工具,https://pypi.org/project/PySide2-stubs/

我使用 PDM 来处理我的项目,我执行的最后一个项目是:

pdm run pyside6-genpyi all
Run Code Online (Sandbox Code Playgroud)

PyLance 检测我所有的存根:

在此输入图像描述

如果您遇到错误Signal,那是因为 Qt/PySide 做了一些魔术并转换Signal为SignalInstance. 我的解决方案是强制转换SignalInstance以获得正确的提示。

pyside6-genpyi all
Run Code Online (Sandbox Code Playgroud)

  • Signal 到 SignalInstance,这真是一个魔术== (2认同)