IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PyQt Python Discussion :

QFileDialog : message d'erreur


Sujet :

PyQt Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Novembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut QFileDialog : message d'erreur
    bonjour,

    je suis passé depuis peu à PyQt5 ( sur debian 9) . J'ai pratiquement tout transféré mes scripts sur cette nouvelle version , tout fonctionne bien excepté QFileDialog qui me donne un message d'erreur :
    Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
    pas très gênant dans Eric6 ni si je lance le script depuis le terminal , mais bien sur ça plante si je le lance depuis le menu Application.
    j'ai trouver plein de solution mais rien qui m'indique ce que je dois changer dans le script PyQt

    fonction :
    fullFileName , selectedFilter = QFileDialog.getOpenFileName(
    self,
    self.tr("recherche photo"),
    "",
    self.tr("*.jpeg,*.jpg;*.png"),
    None)

    si quelqu'un a une astuce sinon je vais devoir me cogner l'écriture d'une fenêtre de dialogue qui réalise la même chose

    Merci

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Je ne comprends pas bien le contexte, mais s'il s'agit de lancer une fenêtre de dialogue hors d'une fenêtre normale, par exemple au début du lancement d'un programme, le parent est "None" au lieu de "self".
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Novembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    le context
    dans une fenêtre QDialog je dois aller chercher l'emplacement d'un fichier

    signature fonction :
    getOpenFileName(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0)


    fullFileName , selectedFilter = QFileDialog.getOpenFileName(
    self, # QWidget = self
    self.tr("recherche photo"), # caption = "recherche photo"
    "", # directory = ''
    self.tr("*.jpeg;*.jpg;*.png;*.JPG"), # filter ="*.jpeg;*.jpg;*.png;*.JPG"
    None) # initialFilter = None

    j'ai tester tous les Pyqt5-examples j'ai le même problème !!

  4. #4
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Comme contexte, j'entendais "à quel endroit du code ce getOpenFileName est utilisé?". Et plus précisément, "self est l'instance de quel objet?"

    Voilà un petit exemple tout simple qui fonctionne chez moi (Python v3.4 et PyQt5 v5.5):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    # Python 3 PyQt5
     
    import sys
    from PyQt5 import QtWidgets
     
    #############################################################################
    class Fenetre(QtWidgets.QWidget):
     
        def __init__(self, parent=None):
            super().__init__(parent)
     
            fichier, filtre = QtWidgets.QFileDialog.getOpenFileName(self, 
                         "Sélectionnez le fichier", 
                         "", 
                         "Fichier texte (*.txt);;Tous (*.*)")
     
            reponse = "aucun fichier demandé" if fichier=="" else "fichier demandé: {}".format(fichier)
     
            QtWidgets.QMessageBox.information(self, 
                "Sélection fichier", 
                reponse)
     
    #############################################################################
    if __name__ == "__main__":
        app = QtWidgets.QApplication(sys.argv)
        fenetre = Fenetre()
        fenetre.show()
        sys.exit(app.exec_())
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Citation Envoyé par brashen19450 Voir le message
    j'ai tester tous les Pyqt5-examples j'ai le même problème !!
    Si tu l'as installé avec apt, envisage de signaler un bug.

    Quel est ton environnement de bureau ?

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Novembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    bonjour,


    j'ai tester le script de tyrtamos . même problème.

    env :
    Debian GNU/Linux 9 (stretch) 64 bits
    gnome Version 3.22.2
    Python 3.5.3
    Pyqt 5.7.1

    merci pour votre aide.

    je vais essayer d'installer une autre distrib sur un poste et voir si le problème persiste

  7. #7
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Je viens d'essayer avec Python v3.6 et PyQt5 v5.8, et mon code ci-dessus donne les mêmes résultats corrects.

    Même si c'est sous Windows, ça ne doit pas changer la syntaxe.

    Tu dois donc avoir un problème d'installation.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Éventuellement, change de thème de bureau, Human, greybird et autres.

    Ce problème existait avec Qt4. Avec crash de l'appli à tous les coups !

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Novembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2014
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Alors ce week-end FULL réinstallation de PyQt et tous ces dépendances . parce que nouveau bug :
    quand je supprimer le dernier CHILD d'un TREE ( QAbstractItemModel) il veut aller au suivant et comme c'est le dernier ça explose .
    test avec les exemples fournis avec Pyqt IDEM, donc à mon avis une lib HS , comme pas le temps de fouiller dans tous les fichiers .
    Dès que j'ai tout remis à neuf je reviens vers vous.

    Merci pour votre Aide A+

Discussions similaires

  1. [TSocket] Message d'erreur
    Par rgz dans le forum Web & réseau
    Réponses: 6
    Dernier message: 04/07/2003, 09h16
  2. Surcharger le message d'erreur après un OnException
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 2
    Dernier message: 24/04/2003, 11h42
  3. Réponses: 4
    Dernier message: 04/03/2003, 01h05
  4. [CR] Message d'erreur
    Par nono1 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 11/09/2002, 14h54
  5. Réponses: 2
    Dernier message: 27/05/2002, 19h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo