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

Qt Discussion :

Case à cocher et QCloseEvent


Sujet :

Qt

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 47
    Points : 41
    Points
    41
    Par défaut Case à cocher et QCloseEvent
    Salut tout le monde,

    J'ai actuellement deux problèmes.
    Le premier concerne les checkBox : je souhaite conserver l'état de ce dernier lorsque je fais car actuellement, il supprime cet état..

    Le second concerne closeEvent (enfin, pas vraiment..) : ce que je souhaite faire c'est lorsque mon application se ferme ou se plante, il émet un signal qui me permettrait de tout enregistrer sur une EEPROM (j'ai déjà créer cette fonction). Je souhaite seulement connaître le signal (ou une structure peut-être ?).

    A bientôt !

    iWizzers

  2. #2
    Invité
    Invité(e)
    Par défaut
    Hello !

    En ce qui concerne la checkBox, tu pourrais sauvegarder la valeur de retour de la fonction isChecked() dans une variable, avant de changer l'état de ta checkbox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bool b = checkBox.isCheCked();
    checkBox.setChecked(false);
    Ou peut-être n'ai je pas bien compris tes propos ? Par ailleurs, en ce qui concerne la fermeture de ton programme, tu peux procéder comme suit, en ré-implémentant la fonction closeEvent.

    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
    // fichier Class.h
     
    #ifndef CLASS_H
    #define CLASS_H
     
    class QCloseEvent;
     
    class Class
    {
        protected:
            void closeEvent(QCloseEvent *event);
    };
     
    #endif
     
    // fichier Class.cpp
     
    #include "Class.h"
    #include <QCloseEvent>
     
    void Class::closeEvent(QCloseEvent *event)
    {
        // do what you want here
        event.accept();
    }
    Sur ce, bonne soirée !

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 47
    Points : 41
    Points
    41
    Par défaut
    Pour la checkBox, j'ai déjà essayé ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    bool b = checkBox.isCheCked(); // Enregistrement de la valeur dans une variable de type bool
    checkBox.setCheckable(false); // Désactivation de la chekBox
    checkBox.setCheCked(b); // Je met l'état de la valeur bool
    Mais ca ne fonctionne pas ...

    Pour la fermeture de mon programme, j'ai trouvé ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    connect(qApp, SIGNAL(aboutToQuit()), this, SLOT(enregistrerAvantQuitter()));
     
    // Ma fonction de fermeture
    void fenetrePrincipale::enregistrerAvantQuitter()
    {
    	// Mon code ici ...
    }
    Et ca fonctionne parfaitement !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par iWizzers Voir le message
    Pour la checkBox, j'ai déjà essayé ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    bool b = checkBox.isCheCked(); // Enregistrement de la valeur dans une variable de type bool
    checkBox.setCheckable(false); // Désactivation de la chekBox
    checkBox.setCheCked(b); // Je met l'état de la valeur bool
    Mais ca ne fonctionne pas ...
    Il est tout à fait normal que ça ne fonctionne pas. En effet, l'instruction de la ligne 2 de ton code ne fait pas que désactiver la checkBox : elle la rend surtout non checkable (i.e. toute action pour la cocher ou la décocher sera dorénavant ignorée). Pourrais-tu expliciter ce que tu voudrais faire (concernant la checkbox) ?

    En ce qui concerne ton second code, je suis content qu'il fasse ce que tu souhaitais. Mais il faut comprendre aussi que le signal aboutToQuit() n'est émit que lorsque ton application est sur le point de terminer son exécution (en général lorsque la fenêtre principale de ton application est sur le point de se fermer). Si tu veux capturer à quel moment une fenêtre se ferme, il serait intéressant de passer par ce que je t'ai indiqué plus haut : redéfinir la fonction closeEvent. Mais particulièrement ici t'en as vraiment pas besoin : ta façon de faire est tout aussi intéressante.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 47
    Points : 41
    Points
    41
    Par défaut
    Pour la checkBox, je viens de réfléchir à un truc vraiment tout bête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    checkBox.setEnabled(false)
    qui me permet donc de ne pas pouvoir y toucher tout en conservant sa valeur ...

    Concernant la fermeture de ma fenêtre, oui c'est bien lorsque la fenêtre principale se ferme (fermeture de l'application). J'aurai du préciser ... Désolé :/

    En tout cas, merci beaucoup misterFad

    Sujet résolu !

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

Discussions similaires

  1. [MIGRATION] champ de type "case à cocher"
    Par The_Nail dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 10/05/2011, 11h07
  2. Case à cocher dans une requête
    Par kloss dans le forum Access
    Réponses: 6
    Dernier message: 14/10/2004, 11h44
  3. Récupérer toutes les cases à cocher
    Par psyco2604 dans le forum ASP
    Réponses: 7
    Dernier message: 14/10/2004, 10h54
  4. Activer cases à cocher
    Par schnito dans le forum MFC
    Réponses: 4
    Dernier message: 24/01/2004, 16h07
  5. [CR] Création de tableau et case à cocher
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/11/2003, 17h07

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