Buongiorno!
Non riesco ad associrare l'icona al plugin. Quando su Qgis seleziono dal menu dei plugins quello che sto creando, non mi esce alcuna icona avendo opportunamente indicato nel file dell'esecuzione del plugin il percorso dell'icona. Vi riporto di seguito il frammento di codice: def initGui(self): # create action self.action = QAction(QIcon(':/plugins/Max_covering/icona.png'), 'Max Covering', self.iface.mainWindow()) self.action.setWhatsThis('Configuration for Max Covering plugin') QObject.connect(self.action, SIGNAL('triggered()'), self.run) # Create about button self.helpaction = QAction(QIcon(":/iconhelp.png"), "About", self.iface.mainWindow()) self.helpaction.setWhatsThis("Help for Max Covering") QObject.connect(self.helpaction, SIGNAL("activated()"), self.helprun) # add toolbar button and menu item self.iface.addToolBarIcon(self.action) self.iface.addPluginToMenu('&Max Covering', self.action) self.iface.addPluginToMenu("&Max Covering", self.helpaction) Come potete notare ho provato in 2 modi diversi, in self.action specificando tutto il precorso e in self.helpaction ho specificato sl il nome dell'icona purtroppo non mi funziona in nessuno dei 2 modi, eppure nella cartella del plugin ho i 2 file .png spceificati nel codice. Qualcuno può aiutarmiiii??? Grazie in anticipo -- Michela _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 502 iscritti all'11.2.2011 |
prova con questo per non diventare matta con i path e simili:
import os .... ...... def initGui(self):
icon_plugin = ('%s%s') % (filepath, os.path.join(os.sep, 'icons','miaIcona.png')) self.actionPlugin = QAction(QIcon(icon_plugin), "Mio plugin", self.iface.mainWindow())
self.actionPlugin.setWhatsThis("Il mio plugin") QObject.connect(self.actionPlugin, SIGNAL("activated()"), self.runPlugin)
_______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 502 iscritti all'11.2.2011 |
In reply to this post by Michela Coletta
Salve Michela,
2011/5/2 Michela Coletta <[hidden email]> -- self.action = QAction(QIcon(':/plugins/Max_covering/icona.png'), 'Max Covering', self.iface.mainWindow()) i due punti (:) all'inizio del percorso indicano che è una risorsa, non un semplice percorso ad un file. Puoi eliminare i due punti ed inserire il percorso completo come ha già scritto Luca, oppure creare un file di risorse resources.qrc ed aggiungerci le icone che vuoi caricare. Ti basterà copiare il file resources.qrc da un'altro plugin e modificarlo con QtCreator che offre un'interfaccia grafica per la modifica di tali file. Una volta creato il file .qrc generi il relativo file .py delle risorse in questo modo pyrcc4 -o resources_rc.py resources.qrc quindi ti basterà includere nel tuo codice python l'istruzione import resources_rc che caricherà il modulo con le risorse. Ti chiederai perché complicarsi la vita in questo modo: creare il file di risorse, compilarlo, importarlo nel codice. 1. Immagina di avere un'icona che usi nei posti più disparati. Se avessi il percorso all'icona hardcoded nel codice e vorresti cambiarla dovresti modificare tutti i file che contengono il percorso all'icona. Avendo un file di risorse ti basterà cambiare quello senza dover modificare il codice del tuo programma. 2. Altro caso, immagina di avere più file di risorse con temi di icone differenti. Potresti passare da uno all'altro semplicemente modificando l'istruzione import resources_rc che carica il tuo file di risorse nel progetto, senza dover modificare tutti i percorsi che hai nel tuo codice. Capisco che inserire il path nel codice è più semplice, ma una volta che hai preso la mano con i file di risorse vedrai che in fin dei conti non sono così complicati da utilizzare. Grazie in anticipo Saluti. Giuseppe Sucameli _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 502 iscritti all'11.2.2011 |
Free forum by Nabble | Edit this page |