#1 Wed 06 February 2019 15:08
- felixd
- Participant occasionnel
- Date d'inscription: 20 Jun 2017
- Messages: 46
QGIS 3.4: PYQT5 multiPrint
Bonjour
multiprint est un outil que j'utilise très souvent.
3 projets QGIS avec 18 composeurs chacun a éditer en jpg.
Je me suis lancé le défi de le porter dans QGIS 3 et PYQT5.
Si la première partie avec 2to3.py c'est pas trop mal passé, je bloque sur la partie qui a le plus évoluer dans QGIS3, le composer.
activeComposer n'est pas reconnu et du coup ce code ne fonctionne pas:
Code:
def populateComposerList(self): #called to populate field list for WHERE statement wdgt=self.dlg.composerList wdgt.clear() for cView in self.iface.activeComposers (): item=QListWidgetItem() item.setFlags(item.flags() | Qt.ItemIsUserCheckable) item.setCheckState(Qt.Unchecked) item.setText(cView.composerWindow().windowTitle()) wdgt.addItem(item) wdgt.sortItems()
En fait, ma boite de dialogue s'ouvre, mais l'iteration sur les composeurs n'implémente cette boite de dialogue. De plus dans QGIS3 j'ai constaté que les composeurs (si on peut encore les appeler ainsi) ne s'ouvrent pas par défaut.
J'ai bien vu sur internet qu'il fallait passer par QgisLayoutManager et la methode layout() mais pas moyen.
Je précise, je suis newbie en matière python, et il m'a semblé que ce travail serait un bon exercice.
Je recherche un maître, je veux bien faire le petit scarabée.
Merci par avance
Hors ligne
#2 Thu 07 February 2019 10:33
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS 3.4: PYQT5 multiPrint
Bonjour,
self.iface.activeComposers () --> QgsProject.instance().layoutManager().layouts() (voir https://qgis.org/pyqgis/master/core/Qgs … ager.html)
cView.composerWindow().windowTitle() --> cView.name() (https://qgis.org/pyqgis/master/core/Qgs … rface.html)
multiprint est un outil que j'utilise très souvent.
Avez-vous regardé l'extension MapsPrinter? Il fait la même chose que multiprint, en mieux mais sans aucune objectivité de ma part. Il ne fait pas encore les rapports ni n'a intégré les nouveaux paramétrages des étiquettes en export pdf et je ne pense pas avoir le temps de me pencher sur ces intégrations dans un avenir proche donc si vous voulez vous essayer à tripatouiller ce plugin, je ne dis pas non. Le seul hic est que je suis moi-même béotien dans Python et ne pourrais donc avoir de padawan.
Hors ligne
#3 Thu 07 February 2019 13:24
- felixd
- Participant occasionnel
- Date d'inscription: 20 Jun 2017
- Messages: 46
Re: QGIS 3.4: PYQT5 multiPrint
Super Merci
Effectivement MapsPrinter fera trés bien l'affaire, et même mieux avec un plus grand choix d'exports possible.
Vous parlez de rapport et paramétrage d'étiquette !!!
J'ai lu que la gestion des étiquettes avait bien évolué et c'est trés bien, mais de quel rapport parlez vous?
Merci encore pour ce plug-in
[edit] OK j'ai trouvé la doc sur les rapport que vous avez donné dans un précédent post [/edit]
Dernière modification par felixd (Thu 07 February 2019 13:37)
Hors ligne