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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Novembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Corrèze (Limousin)

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

    Informations forums :
    Inscription : Novembre 2014
    Messages : 4
    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 confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    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 486
    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".

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

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

    Informations forums :
    Inscription : Novembre 2014
    Messages : 4
    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 confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    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 486
    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_())

  5. #5
    Expert confirmé

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    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
    Futur Membre du Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Novembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Corrèze (Limousin)

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

    Informations forums :
    Inscription : Novembre 2014
    Messages : 4
    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 confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    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 486
    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.

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