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 :

utiliser Qtimer pour une action répétitive


Sujet :

Qt

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 33
    Points : 30
    Points
    30
    Par défaut utiliser Qtimer pour une action répétitive
    Salut à tous,
    je rencontre un petit problème,je veut créer un simple exemple QT en console
    qui permet d'afficher un "hello" dans chaque 500ms,malheureusement j'ai pas
    réussi à utiliser le QTimer correctement!
    quelqu'un SVP ,peut me poster un code complet en QT qui affiche au console "hello" à chaque 500ms.
    merci en avance!

  2. #2
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    Tu devrais trouver ici un exemple complet de comment utiliser un QTimer.
    Sinon tu devrais poster du code au moins cela pourrait nous aider a comprendre ton problème...

    Bon courage.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 33
    Points : 30
    Points
    30
    Par défaut
    Ok merci,je vais poster mon code:
    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
     
    #include <QtCore/QCoreApplication>
    #include<QtGui>
    #include<QTimer>
    #include<iostream>
     
    using namespace std;
     
     
    void sayHello()
    {
    cout<<"Hello"<<endl;
    }
     
     
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
        QTimer *timer = new QTimer();
        timer->connect(timer, SIGNAL(timeout()),&a, SLOT(sayHello()));
        timer->start(500);
     
        return a.exec();
    }
    quand j'exécute l'application,il m'affiche le message suivant:
    Object::connect No such slot QCoreAppilication::sayHello
    que ce la signfie?,j'ai pas créer un slot?,en tous cas comment corriger ça!
    merci!

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Points : 161
    Points
    161
    Par défaut
    Le 3ème paramètre du connect doit contenir l'adresse de l'objet qui possède le slot à excecuter.
    Si tu crées une classe et que tu l'instancie avant le connect ça devrait rouler :
    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
     
    class maclasse
    {
         maclasse();
         void sayHello();
    };
     
    void maclasse::sayHello()
    {
         cout << "hello";
     }
     
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
        maclasse* monObj = new maclass();
        QTimer *timer = new QTimer();
        timer->connect(timer, SIGNAL(timeout()),monObj, SLOT(sayHello()));
        timer->start(500);
     
        return a.exec();
    }
    Par contre le cout je crois pas que ça fonctionne pour Qt en mode console.

    Il y a aussi peut être plus simple

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 33
    Points : 30
    Points
    30
    Par défaut
    Merci beaucoup!
    enfaite on a besoin d'ajouter public:slots avant sayHello et que notre classe
    soit une classe dérivé de QObject pour utiliser les slots.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Points : 161
    Points
    161
    Par défaut
    ha oui, oubli de ma part

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

Discussions similaires

  1. Plusieurs "ActionForm" pour une Action
    Par F2S dans le forum Struts 1
    Réponses: 8
    Dernier message: 29/03/2007, 17h16
  2. Réponses: 2
    Dernier message: 12/03/2007, 14h48
  3. [VBA-E] Utilisation .Find pour une recherche
    Par Larsen21 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/12/2006, 13h18
  4. Mapping spécifique pour une action spécifique
    Par santana2006 dans le forum Struts 1
    Réponses: 8
    Dernier message: 04/08/2006, 18h41
  5. [MySQL] Utilisation LIMIT pour une pagination
    Par tilou dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/05/2006, 08h29

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