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

Python Discussion :

Sauvegarde via le module pyQT5 [Python 3.X]


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    F�vrier 2020
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Industrie

    Informations forums :
    Inscription : F�vrier 2020
    Messages : 17
    Par d�faut Sauvegarde via le module pyQT5
    Bonjour,

    Je travaille sur un projet assez dense qui utilise le module PyQt5
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    from PyQt5 import QtCore, QtGui, QtWidgets
    L'application en question fonctionne mais je n'ai toujours pas r�ussi � enregistrer les diff�rentes modifications.

    J'ai con�u ses lignes avec un bouton "enregistrer" qui permettrait d'enregistrer l'�tat d'avancement de l'application.

    Voici ce que j'ai r�ussi � faire avec la cr�ation d'un bouton "Enregistrer" et la m�me chose avec "Enregistrer sous"

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    self.saveAsAction = QtWidgets.QAction(MainWindow)
    self.saveAsAction.setObjectName("saveAsAction")
    self.quitAction = QtWidgets.QAction(MainWindow)
    self.saveAction.setText(_translate("MainWindow", "Enregistrer"))
     
     self.saveAction.setShortcut(_translate("MainWindow", "Ctrl+S"))
     
     self.saveAsAction.setText(_translate("MainWindow", "Enregistrer sous..."))
     self.saveAsAction.setShortcut(_translate("MainWindow", "Ctrl+Shift+S"))
    Mais je bloque sur la suite, et je n'ai pas r�ussi � trouver d'aide sur ce sujet.

    Merci d'avance pour votre aide.

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    F�vrier 2006
    Messages
    12 847
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 12 847
    Billets dans le blog
    1
    Par d�faut
    Bonjour
    Tu sais qu'il existe un forum d�di� PyQt? Ca sent le type qui a vachement cherch�.
    Citation Envoy� par Entei Voir le message
    L'application en question fonctionne mais je n'ai toujours pas r�ussi � enregistrer les diff�rentes modifications.

    J'ai con�u ses lignes avec un bouton "enregistrer" qui permettrait d'enregistrer l'�tat d'avancement de l'application.
    Mais je bloque sur la suite, et je n'ai pas r�ussi � trouver d'aide sur ce sujet.
    Surtout ne nous dis pas dans quel contexte il s'agit (un menu je pr�sume). Donc ben oui, c'est � toi de tout construire les actions que feront le menu..
    Il te faut relier le signal "triggered" de chaque action � un slot qui se chargera alors de proposer � l'utilisateur de choisir le fichier dans lequel il veut enregistrer ce choix (je pense qu'un QFileDialog.getSaveFileName devait faire l'affaire) puis une fois ce fichier choisi, � toi de coder l'enregistrement.

    Exemple de connexion
    Code python : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    self.saveAsAction = QtWidgets.QAction(MainWindow)
    self.saveAsAction.setText(_translate("MainWindow", "Enregistrer sous..."))
    self.saveAsAction.triggered.connect(self.toto)
    self.addAction(self.saveAsAction)
     
    self.quitAction=QtWidgets.QAction(MainWindow)
    self.quitAction.setText(_translate("MainWindow", "Quitter"))
    self.quitAction.triggered.connect(MainWindow.close)
    self.addAction(self.quitAction)
    ...
    def toto(self): print("toto")
    Tu lances et chaque fois que tu cliqueras dans le menu "Enregistrer sous" tu verras apparaitre "toto" � l'�cran (ensuite donc l� tu dois tout coder). Et le menu "quitter" fermera l'application.

    Maintenant (perso) je pr�f�re utiliser QMenu.addAction() qui permet de simplifier certaines �tapes...
    Code python : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    self.addAction(_translate("MainWindow", "Enregistrer sous..."), self.toto)
    self.addAction(_translate("MainWindow", "Quitter"), mainwindow.close)
    ...
    def toto(self): print("toto")

    Pour le codage, je te conseillerais une fonction (enfin m�thode) un peu universelle qui prend en param�tre un fichier et qui se charge d'enregistrer dans le fichier. Ainsi le menu "Enregistrer" et "Enregistrer sous" pourront �tre factoris�s ; le menu "Enregistrer" faisant appel � un slotX qui se charge d'appeler la fonction en lui passant le fichier en cours tandis que le menu "Enregistrer sous" faisant appel � un slotY qui commence par demander le nom du fichier puis ensuite appelle la m�me fonction en lui passant le fichier sp�cifi�.
    Mon Tutoriel sur la programmation �Python�
    Mon Tutoriel sur la programmation �Shell�
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les diff�rentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    F�vrier 2020
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Industrie

    Informations forums :
    Inscription : F�vrier 2020
    Messages : 17
    Par d�faut
    Bonsoir,

    Merci beaucoup pour vos conseils, je vais essayer de creuser dans cette voie.

    Bonne soir�e

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Faire des sauvegardes via Internet sur un disque distant
    Par tbassetto dans le forum Composants
    R�ponses: 0
    Dernier message: 27/05/2009, 22h42
  2. Sauvegarde via r�seau avec Norton Ghost (version 9)
    Par rjl dans le forum S�curit�
    R�ponses: 1
    Dernier message: 05/05/2009, 10h21
  3. [MySQL] Sauvegarde via variable de session lors d'un select.
    Par sdgarf dans le forum PHP & Base de donn�es
    R�ponses: 8
    Dernier message: 17/06/2008, 12h01
  4. sauvegarde via programme ecrit en C#
    Par ducker88 dans le forum PostgreSQL
    R�ponses: 3
    Dernier message: 10/07/2006, 15h39
  5. [VB.NET] Manipuler une feuille via un module
    Par dinbougre dans le forum Windows Forms
    R�ponses: 8
    Dernier message: 13/01/2005, 17h15

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