Domanda

Sto usando Pyside con Pycharm. Quando voglio saltare alla fonte di una classe di metodo Pyside in editor, mi dice sempre:

Cannot find declaration to go to     

Ho controllato il Dir python27/Lib/site-packages/PySide, ci sono molti .pyc e .pyd file, ma pochi *.py. Scarico anche il pacchetto di origine dal sito Pyside, ma ce ne sono molti .cpp e .xml file lì.

Come posso trovare il .py Fonti di Pyside e lascia che Pycharm li trovi? Oppure devo leggere i documenti, il che non è così conveniente.

È stato utile?

Soluzione

Potresti fraintendere qualcosa. .pyd file (quell'estensione del file è specifica per Windows, ma il principio si applica anche a .so File su Linux e qualunque estensione del file altri sistemi utilizzino) sono estensioni scritte in C o C ++ compilate sul codice nativo e inserite in una libreria dinamicamente collegata.

Mentre tu Potevo Guarda la fonte se il progetto in questione è open source (nel caso di Pyside, lo è), non è Python (sai C? C ++? Molti buoni programmatori di Python non lo fanno) e sporchi con codice caldaia Ciò non contribuisce che non realizzi la funzionalità incrociata. A peggiorare le cose, nel caso di Pyside il codice sorgente C ++ viene generato automaticamente (da uno strumento chiamato Shiboken, che presumibilmente elabora i file XML che hai visto). Voi Potevo Guarda anche la fonte delle funzioni QT che sono avvolte, ma ancora una volta, questo è improbabile che ti compri molto.

Quindi la linea di fondo è: dovrai attenersi alla documentazione (o leggere la documentazione QT originale; ho trovato abbastanza semplice tradurre in Python quando stavo usando Pyqt qualche tempo fa). A meno che non sia assolutamente terribile (e la documentazione QT originale non lo è), risponderà anche alla tua domanda:

  1. Prima e con meno sforzo. Non c'è bisogno di farsi strada attraverso migliaia di righe di codice solo per avere un'idea approssimativa di ciò che questo parametro implica.
  2. Meglio. Cose come le migliori pratiche, gli avvertimenti di deprecazione e i gotchas non sono sempre visibili dal solo codice.
  3. Più correttamente. Può voi Comprendi correttamente il codice, soprattutto a prima vista? Non scommetterei io Potevo.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top