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

Multithreading Discussion :

Greffer Qt sur une application console multithread


Sujet :

Multithreading

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 38
    Points : 22
    Points
    22
    Par défaut Greffer Qt sur une application console multithread
    Bonjour,

    J'ai actuellement une application multithreadée qui tourne avec les threads posix (encapsulés par mes soins dans des classes C++), et qui n'a pour l'instant pas d'affichage graphique (console seulement).

    La fonction main est de cette forme :

    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
     
    int main(...)
    {
       Thread t1;
       Thread t2;
     
       t1.start();
       t2.start();
     
    //ici le programme s'exécute tranquillement dans les threads,
    //jusqu'à ce qu'ils se stoppent.
     
       t1.join();
       cout<<"t1 au dodo.\n";
       t2.join();
       cout<<"t2 au dodo.\n";
    }
    Ma question est la suivante : comment rajouter une "couche" Qt là dedans, ou autrement dit où caser la ligne "return app.exec();" ?

    Merci de vos réponses.

    Charles

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    Classiquement, lorsqu'il est question de rajouter une interface graphique, ce que l'on fait, c'est ne garder que la partie "métier" de ce qui existe, et recréer carrément tout ce qui se rapporte à la fonction main...

    Ainsi, tout ce qui échoit actuellement à la fonction main devrait se retrouver en réalité dans la gestion (pour partie dans le constructeur, pour d'autres au niveau de la gestion des événements et pour le "nettoyage" au niveau du destructeur) de la fenêtre principale (et de ses sous objets), et main se "contenterait"... de créer et de gérer la fenêtre principale
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    Merci pour ta réponse. C'est exactement ce que je voulais savoir

  4. #4
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Points : 8 140
    Points
    8 140
    Par défaut
    ?

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 38
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    Je remets au goût du jour ce vieux thread, vu que je me remets à un projet que j'avais laissé tomber un certain temps !

    Même thème, mais autre question : Qt a besoin de son propre thread pour l'interface graphique, les autres instructions et calculs étant effectués dans d'autres threads.
    Vu que mon application est déjà multithreadée (avec des threads POSIX), faut-il que je "multithreade" Qt (pour séparer le graphique du reste) aussi avec des threads POSIX ou avec des QThreads ?

    Je ne suis pas certain d'être très clair ma question est, en gros, peut-on faire cohabiter des QThreads avec des threads POSIX ? Est-ce indispensable dans mon cas (passage sous Qt d'une application console déjà multithreadée avec POSIX) vu que je ne veux pas reprogrammer tout ce que j'ai déjà fait en POSIX avec des QThreads ?

    Merci de vos réponses.

    ++

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Charlock Voir le message
    ma question est, en gros, peut-on faire cohabiter des QThreads avec des threads POSIX ?
    Oui.
    Dans ton cas ils faut que tu laisse la mainThread à Qt Aprés tu fait ce que tu veux.

Discussions similaires

  1. [QThread] Greffer Qt sur une application console multithread
    Par maestro_mirou dans le forum Multithreading
    Réponses: 0
    Dernier message: 24/04/2012, 11h09
  2. Réponses: 1
    Dernier message: 29/07/2009, 09h02
  3. Reception évenement sur une Application Console
    Par anisb dans le forum Langage
    Réponses: 3
    Dernier message: 03/02/2006, 19h29
  4. Créer une application console
    Par darinze dans le forum Langage
    Réponses: 7
    Dernier message: 18/06/2004, 17h35
  5. [Kylix] une application console
    Par naili dans le forum EDI
    Réponses: 3
    Dernier message: 19/04/2004, 14h27

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