我能做些什么让PyCharm找到PySide的来源?

Fre*_*ind 1 python pyside pycharm

我正在使用PySide和PyCharm.当我想在编辑器中跳转到PySide类方法的源代码时,它总是告诉我:

Cannot find declaration to go to     
Run Code Online (Sandbox Code Playgroud)

我检查了目录python27/Lib/site-packages/PySide,有很多.pyc.pyd文件,但很少*.py.我也从下载网站PySide源数据包,但也有许多.cpp.xml文件存在.

我怎样才能找到.pyPySide 的来源并让PyCharm找到它们?或者我必须阅读文档,这不是那么方便.

小智 5

你可能会误解某些东西..pyd文件(该文件扩展名特定于Windows,但原理也适用.so于Linux 上的文件以及其他系统使用的文件扩展名)是用C或C++编写的扩展,编译为本机代码并放入动态链接库中.

虽然你可以查看源代码,如果有问题的项目是开源的(在PySide的情况下,它是),它不是Python(你知道C?C++?相当多的优秀的Python程序员没有)和乱七八糟的使用样板代码,除了使跨语言功能发生之外什么都没做.更糟糕的是,在PySide的情况下,C++源代码是自动生成的(来自一个名为Shiboken的工具,它可能处理你见过的xml文件).你可能还看的那个包裹了Qt功能的来源,但同样,这不太可能给你买了.

所以底线是:你必须坚持使用文档(或阅读原始的Qt文档;我发现它很简单,以便在我之前使用PyQt时转换为Python).除非它非常糟糕(原来的Qt文档不是),它也会回答你的问题:

  1. 更快,更省力.无需通过数千行代码就可以大致了解该参数的含义.
  2. 更好.最好的做法,弃用警告和陷阱等问题并不总是仅从代码中可见.
  3. 更正确.可正确地理解这些代码,特别是在乍看之下?我不打赌可以.