Pages: 1 2
- Sujet précédent - QGIS: sélectionner des images à partir d'un formulaire QT creator - Sujet suivant
#31 Fri 07 November 2014 10:50
- Zimon
- Participant occasionnel
- Date d'inscription: 20 Jun 2012
- Messages: 27
Re: QGIS: sélectionner des images à partir d'un formulaire QT creator
Je confirme, avec la 2.6, l'affichage de la photo fonctionne.
Question subsidiaire, est ce que quelqu'un sait quelle widget faut-il appeler sous QtDesigner pour faire apparaître un bouton de type "recherche de fichier dans l'explorateur", pour modifier par exemple facilement le nom d'une image ?
Cela est possible dans le formulaire de base proposé par Qgis (voir copie d'écran), je n'ai pas trouvé comment faire avec Qt.
D'avance merci !
Hors ligne
#32 Thu 16 February 2017 11:21
- sapeur04
- Participant occasionnel
- Date d'inscription: 11 Dec 2007
- Messages: 11
Re: QGIS: sélectionner des images à partir d'un formulaire QT creator
Bonjour
Ce post date un peu mais la solution que j'emploie, en python, peut intéresser ;-)
Inspiré par cet excellent post, de Nathan Woodrow :
https://nathanw.net/2011/09/05/qgis-tip … hon-logic/
je voulais moi aussi faire apparaitre dans un formulaire personnalisé Qgis la photo correspondant à un objet cliqué sur la carte. Le nom de la photo figure dans l'une des colonnes de données attributaires de la couche. Les photos sont stockée dans un dossier "Photos" prenant racine dans le dossier contenant la couche. Le fichier UI du formulaire, le projet Qgis et le fichier py doivent figurer dans le même dossier que la couche.
# Importation des modules nécessaires (pour les étourdis !)
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from qgis.core import *
import os
import sys
# Initialisation du nom du dossier contenant les photos
dossierPhotos = '/Photos/'
# Initialisation du nom de la colonne contenant le nom de la photo dans les données attributaires
NomPhoto = 'PHOTO'
# donner accès au widget d'affichage du formulaire
nameField = dialog.findChild(QLabel,"PHOTO_1")
# Lire le chemin du programme python en cours
chemin = str(os.path.dirname(os.path.abspath(__file__)))
# Lecture du nom de la photo de l'objet cliqué
photo = featureid.attribute(NomPhoto)
# affichage de la photo
nameField.setPixmap(QPixmap(chemin + dossierPhotos + photo))
Pour mettre l'eau à la bouche des bidouilleurs, dans mon formulaire, j'ai en plus un bouton qui me permet de chercher la photo à afficher directement dans le dossier Photos, un lineedit qui affiche le nom de la photo choisie, éditable, en lien avec le wiget pour avoir l'affichage de la photo en temps réel si on tape le nom correct ;-)
Voilà ! Je n'ai mis que le code essentiel, mais si cela peut vous éviter les heures que j'ai passé à chercher, c'est le but !
Sapeur04
Hors ligne
#33 Tue 29 May 2018 22:21
- fabyfabzzz
- Participant occasionnel
- Lieu: Montpellier
- Date d'inscription: 13 Apr 2006
- Messages: 11
Re: QGIS: sélectionner des images à partir d'un formulaire QT creator
Bonjour,
J'aimerai profiter de ce code et l'appliquer pour mon cas.
Pourriez vous me préciser quel widget dois je prendre ds QT pour générer la photo?
Que dois je mettre dans les paramètres?
Merci beaucoup pour votre aide
Hors ligne
Pages: 1 2
- Sujet précédent - QGIS: sélectionner des images à partir d'un formulaire QT creator - Sujet suivant