PYQT4 – Come faccio a compilare e importare un file qrc nel mio programma?

Sto avendo problemi nell’importazione di un file di risorse. Sto usando pyqt4 con monkey studio e sto cercando di importare un immagine png. Quando eseguo il programma ottengo un errore di importazione come

ImportError: No module named icon_rc

Mi sa che devo compilare utilizzando pyrcc4, ma non capisco come fare qualcuno può aiutarmi per favore. Sarebbe molto utile avere una risposta che spiega ampiamente come compilare il file di risorse, così posso importarlo.

InformationsquelleAutor Thomas | 2013-04-07

 

5 Replies
  1. 29

    Aprire cmd (o terminale su *nix) ed eseguire

    pyrcc4 -py3 F:\computing\Payrollv22\icon.qrc -o icon_rc.py

    È compilato correttamente il file e mi è stato in grado di importare il file py nel mio progetto e l’esecuzione, senza alcun problema.

    • Potrebbe essere la pena di sottolineare che il -py3 interruttore è necessaria solo se si utilizza Python 3.x. Se si utilizza Python 2.x, il file di risorse deve essere compilato senza questa opzione.
    • href=”http://pyqt.sourceforge.net/Docs/PyQt4/resources.html” >Secondo la documentazione, il -py3 bandiera per rendere un file che è compatibile con qualsiasi Python 2.6 o superiore, quindi a meno che non si sta utilizzando un davvero arcaica versione di Python, si dovrebbe sempre utilizzare -py3 per il futuro di correzione
  2. 20

    Non c’è molto da spiegare qui, si dispone di un file di risorse (ad esempio,icon.qrc), quindi è chiamare pyrcc4 -o icon_rc.py icon.qrc che consentirà di creare un modulo icon_rc.py che è quindi possibile importare nel progetto.

    È tutto documentato qui.

    • ho appena cant convertire questo file qrc in un modulo py. quando uso il codice in cmd pyrcc4 -o icon_rc.py icona.qrc si dice pyrcc4: File non esiste ‘icona.qrc’
    • E, esiste nella directory dove si sta eseguendo il comando?
    • ah va bene così, sono riuscito a compilarlo e importalo nel mio progetto, ma ora lancia un nuovo errore! Il File “<string>”, linea 89, in <modulo> File “F:\computing\Payrollv22\icon_rc.py” linea 300, in <modulo> qInitResources() File “F:\computing\Payrollv22\ritch_rc.py” linea 295, qInitResources QtCore.qRegisterResourceData(0x01), str(qt_resource_struct), str(qt_resource_name), str(qt_resource_data)) TypeError: qRegisterResourceData(int, str, str, str): argomento 2 imprevisti tipo ‘str’
  3. 4

    In Pyqt5 questo comando può essere utilizzato Pyrcc5 input_file.qrc -o Out_file.py

    Abbiamo bisogno di convertire il file qrc in file python e quindi può essere importato al codice

  4. 0

    si potrebbe provare con pyside, come pure, come:

    pyside-rcc -o input.qrc output.py

    • pyside è diversa pyqt4
    • Sì, lo è, ma questo è solo per un’altra opzione.
  5. 0

    ha il suo perché, quando si è utilizzato pyuic5 per convertire l’interfaccia utente di py, il nome file di risorse dall’interfaccia utente bastoni.

    quindi utilizzare

    Pyrcc5 input_file.qrc -o icons.py

    rimuovi da main_script.py

    import icon_rc

    e utilizzare

    import icons

    quando chiama le effettive icone le icone del modulo, è necessario guardare il vostro qrc prefisso del file.

    < RCC >
        < qresource
        prefix = "ico5" >
        < file > plugin.png < / file >
        < / qresource >
    < / RCC >

    se il prefisso è ico5
    poi si caricano le icone con

     QtGui.QIcon(":/ico5/plugin.png")

    e se il prefisso è , diciamo,

    <RCC>
        <qresource prefix="icons">

    quindi la sua:

      QtGui.QIcon(":/icons/plugin.png")

Lascia un commento