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 :

gestion des erreurs qfiledialog


Sujet :

PyQt Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut gestion des erreurs qfiledialog
    Bonjour à tous,
    j'ai une erreur si je ferme la fenêtre ou si je fais annuler, j'ai trouvé des exemples mais je n'y arrive pas.
    Merci
    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
     lien =QFileDialog.getOpenFileName(None, 'Selection fichier CSV', r"C:\Users\ORDI\Downloads", "Fichiers (*.csv)")
     
            if lien:
                filename = QFileDialog.selectedFiles( )[0]
     
                buttonReply = QMessageBox.question(None, 'PyQt5 message', "Voulez-vous sauvegarder ?",
                                                   QMessageBox.Yes | QMessageBox.Cancel, QMessageBox.Cancel)
     
                if buttonReply == QMessageBox.Yes:
                    print('Données sauvegardées.')
     
                if buttonReply == QMessageBox.Cancel:
                    print('Annulé')
     
            if lien == "":
                pass
     
            else:
                return

  2. #2
    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,

    Le retour de la boîte de dialogue est toujours un tuple donc lien est toujours vrai.

    Comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            filename  = QFileDialog.getOpenFileName(None, 'Selection fichier CSV', r"C:\Users\ORDI\Downloads", 
                                                "Fichiers (*.csv)")[0]
            if filename:
                buttonReply = QMessageBox.question(....

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut Erreur qfiledialog
    Bonsoir Vinss
    désolé je ne comprends pas :
    quand je clique sur la croix de ma fenêtre qfile j'ai une erreur ?
    quand je passe dedans c'est bon mais je ne comprends pas où je récupère un tuple ?

    Merci

  4. #4
    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
    Dans ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     lien =QFileDialog.getOpenFileName(None, 'Selection fichier CSV', r"C:\Users\ORDI\Downloads", "Fichiers (*.csv)")
     
            if lien:
    lien est toujours vrai parce que c'est un tuple, certes vide si tu cliques sur la croix de fermeture ou sur le bouton Annuler.

    Contrairement à Qt4 ces QFileDialog.* retourne un tuple contenant le fichier/dossier sélectionné et le filtre.

    Si tu annules ça donne ceci: ("", "") et ce tuple est True.

    essaye mon code j'offre une garantie d'un an.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut Erreur qfiledialog
    Bonsoir Vinss et merci.
    Peux-tu juste me confirmer que j'ai compris ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            if lien_enregistre :
                if lien_enregistre ==("", ""):
                    print('fermé')

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FB] Gestion des erreurs et application francophone
    Par Benjamin GAGNEUX dans le forum Installation
    Réponses: 10
    Dernier message: 20/05/2006, 14h54
  2. [struts][Datasource]Gestion des erreurs
    Par GreenJay dans le forum Struts 1
    Réponses: 8
    Dernier message: 15/09/2004, 16h51
  3. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20
  4. [XSLT]Est ce qu'il y'a la gestion des erreur en xslt ?
    Par miloud dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/02/2004, 17h19
  5. [LG]gestion des erreurs
    Par frontin dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2003, 22h41

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