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 :

Problème avec un signal/slot


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 327
    Par défaut Problème avec un signal/slot
    Bonsoir,

    Voila j'ai un petit soucis avec un signal/slot, je voudrais que toutes les 1sec de mon timer il envoi un signal à mon slot qui affiche un message seulement rien ne ce produit et je ne comprend pas pourquoi

    Voici le code du signal:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Test::Test()
    {
    	QTimer temps;
     
    	temps.setInterval(1000);
    	temps.setSingleShot(false);
     
    	connect(&temps, SIGNAL(timeout()), this, SLOT(affiche()));
     
    	return;
    }
    Et celui du slot:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void Test::affiche()
    {
    	std::cout << "Coucou";
     
    	return;
    }
    Merci d'avance à ceux qui voudront bien m'aider

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Test::Test()
    {
    	QTimer temps;
     
    	temps.setInterval(1000);
    	temps.setSingleShot(false);
     
    	connect(&temps, SIGNAL(timeout()), this, SLOT(affiche()));
     
    	return;
    }
    a ton avis, quand est détruit temps?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 327
    Par défaut
    Pour l'instant jamais non ? vu que je ne fais pas de stop :s d'ailleurs j'ai oublié de marquer le start autant pour moi

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par scary Voir le message
    Pour l'instant jamais non ?
    elle est détruite à la sortie de ton créateur
    Il faut soit que te mette tempsen membre de ta classe, soit utiliser un pointeur.

    Citation Envoyé par scary Voir le message
    d'ailleurs j'ai oublié de marquer le start autant pour moi
    ca c'était le bonus :p

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 327
    Par défaut
    Ah ben justement même en faisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Test::Test()
    {
            this->timer.setInterval(1000);
    	this->timer.setSingleShot(false);
     
    	connect(&this->timer, SIGNAL(timeout()), this, SLOT(affiche()));
     
    	return;
    }
    La classe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class Test : public QObject
    {
    	Q_OBJECT
     
    	private:
    		QTimer  timer;             
     
    	public slots:
    		void affiche();
     
    	public:
    		Test();
    		~Test();
    }
    Sa marche pas

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Bonjour,

    Il semble qu'il manque le start(), ou alors on nous cache du code .
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

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

Discussions similaires

  1. Problème avec le signal SIGCHLD
    Par yaute dans le forum C
    Réponses: 2
    Dernier message: 28/11/2012, 02h28
  2. probléme avec les signal "cliked"
    Par dev-linus dans le forum GTK+ avec C & C++
    Réponses: 14
    Dernier message: 22/03/2012, 22h07
  3. [QtCore] Problème de base signal / slot
    Par Neitsa dans le forum PyQt
    Réponses: 2
    Dernier message: 21/09/2011, 14h29
  4. Problème avec un signal capricieux
    Par Athel dans le forum Qt
    Réponses: 3
    Dernier message: 15/05/2008, 16h53
  5. Problème de connect (signal/slots)
    Par Alain Defrance dans le forum Qt
    Réponses: 5
    Dernier message: 20/03/2008, 21h58

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