Mi piacerebbe fare qualcosa di simile in un file sorgente, QT.py:Come si può facilmente selezionare PyQt o PySide in fase di runtime?
import sys
import PyQt4
sys.modules["Qt"] = PyQt4
Poi importare questo file negli altri file di origine, e usarlo in questo modo:
import QT
from Qt.QtCore import *
Così
Posso passare da PyQt4 a PySide in QT.py senza toccare tutti i file sorgente (con uno script possibilmente brutto) Questi moduli sono per lo più compatibili API e vorrei testarli entrambi. C'è un modo semplice per farlo? (Perché i modi che ho provato non funzionano)
Forse l'ho bisogno di modulo imp
, ma sembra troppo basso livello.
Non sono sicuro di aggiungere pseudo moduli vuoti al progetto. Soprattutto perché PySide/PyQt contiene molti più sottomoduli. –
@Guttalax Hai detto che questo è per il test, giusto? Non vorrei fare qualcosa di hacky come questo in un ambiente di produzione. Se lo stai facendo in produzione, non importare *.Senza quello, puoi fare qualcosa di semplice come 'Qt/__ init __. Py' dove' __init __. Py' è 'da PyQt4 import *'. Quindi puoi fare riferimento a cose come 'Qt.QtGui.QWidget()' – Nathan
Beh, sì, è per testare. Vedi, questo è un mio progetto per hobby e non mi dispiace un po 'di soluzioni di hacker. Idealmente mi piacerebbe fornire un modo semplice per gli altri di passare da campagna a pyqt o magari lasciare che il programma usi quello che è disponibile. –