Frage

Ich benutze Pyside mit Pycharm. Wenn ich zur Quelle einer Pyside -Klasse von Methoden im Herausgeber springen möchte, sagt es mir immer:

Cannot find declaration to go to     

Ich habe das Dir überprüft python27/Lib/site-packages/PySide, es gibt viele .pyc und .pyd Dateien, aber nur wenige *.py. Ich lade auch das Quellpaket von der Pyside -Site herunter, aber es gibt viele .cpp und .xml Dateien dort.

Wie finde ich das? .py Quellen von Pyside und lassen Sie Pycharm sie finden? Oder ich muss die Dokumente lesen, was nicht so praktisch ist.

War es hilfreich?

Lösung

Sie können etwas missverstehen. .pyd Dateien (diese Dateierweiterung ist spezifisch für Windows, das Prinzip gilt jedoch auch für .so Dateien unter Linux und egal welche Dateierweiterung, die andere Systeme verwenden) sind Erweiterungen in C oder C ++, die in nativen Code kompiliert und in eine dynamisch verknüpfte Bibliothek eingesetzt werden.

Während du könnte Schauen Sie sich die Quelle an, wenn das betreffende Projekt Open-Source ist (im Fall von Pyside), es ist kein Python (wissen Sie, dass C ++-einige gute Python-Programmierer nicht) und mit Boilerplate-Code übersät sind Das trägt nur dazu bei, dass die Kreuzsprachenfunktionalität geschieht. Um die Sache noch schlimmer zu machen, wird im Fall von Pyside der C ++ - Quellcode automatisch generiert (aus einem Tool namens Shiboken, das vermutlich die von Ihnen gesehenen XML -Dateien verarbeitet). Du könnte Schauen Sie sich auch die Quelle der QT -Funktionen an, die verpackt sind.

Das Fazit lautet also: Sie müssen sich an die Dokumentation halten (oder die ursprüngliche QT -Dokumentation lesen; ich fand sie einfach genug, um in Python zu übersetzen, als ich vor einiger Zeit PYQT verwendet habe). Es sei denn, es ist absolut schrecklich (und die ursprüngliche QT -Dokumentation nicht), wird auch Ihre Frage beantwortet:

  1. Früher und mit weniger Aufwand. Sie müssen nicht durch Tausende von Codezeilen gehen, nur um eine grobe Vorstellung davon zu bekommen, was diese Parameter impliziert.
  2. Besser. Dinge wie Best Practices, Abschaltwarnungen und Gotchas sind nicht immer aus dem Code aus dem Code sichtbar.
  3. Korrekter. dürfen Sie den Code richtig verstehen, besonders auf den ersten Blick? Ich würde nicht wetten ich könnte.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top