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 :

Affichage d'une console dans IHM Qt


Sujet :

Qt

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 193
    Points
    193
    Par défaut Affichage d'une console dans IHM Qt
    Bonjour.

    Je développe un petit programme en C++, sous Linux.
    Pour mon IHM, j'ai utilisé QtCreator, jusque là, aucun problème.
    Mon application utilise certaines commandes système (comme mount / umount par exemple), ce qui implique en général un affichage dans la console.

    Est il possible de visualiser la sortie console, dans mon IHM, via un élément intégré ? Un peu comme l'utilitaire "synaptic" de Ubuntu, qui, lorsqu'on décide d'installer de nouveaux paquets, nous propose une belle IHM, avec la possibilité de visualiser dans cette même IHM, les éléments qui s'affichent dans la console.

    De quelle manière dois-je m'y prendre ? Dois-je rediriger ma sortie console vers un fichier, et afficher le contenu de ce fichier en temps réel ?

    J'espère avoir été suffisamment clair

    Cordialement,
    PKO
    Quand c'est trop, c'est pas bon !

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    Regarde du coté de QProcess. Il permet de lancer des applications à partir de ton application Qt, et de communiquer avec elles.
    Après, tu peux par exemple intégrer un QTextEdit dans ton interface, et tu rediriges les entrées vers les entrées de ta console, et les sorties de ta console vers ton QTextEdit.

    Après, il est je pense également possible de directement intégré la console elle même dans ton appli, mais ça sera sans doute plus complexe.

    Il y a des Q/R dans la faq sur QProcess, et peut être même des tutos si tu cherches un peu.

    Edit :Ici un tuto pour l'intégration de MPlayer dans une appli Qt. Ce n'est sans doute pas l'exemple le plus simple, mais ça reste un exemple.

    G.
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  3. #3
    Membre habitué
    Avatar de Nykoo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 234
    Points : 166
    Points
    166
    Par défaut
    Voir les sources de Konsole?

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2009
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 277
    Points : 742
    Points
    742
    Par défaut
    Je plussoie Gulish. Pour avoir manipulé pas mal les QProcess, c'est, j'imagine, ce qui pourrait te convenir de mieux, surtout que la mise en œuvre est très rapide.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 193
    Points
    193
    Par défaut
    Bonjour, et merci pour cette information.
    Je m'en vais jeter un œil a la doc Qt concernant ce QProcess.

    Cordialement,
    PKO
    Quand c'est trop, c'est pas bon !

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 193
    Points
    193
    Par défaut
    Bonjour.

    Dans un premier temps, désolé de poster la solution si tardivement ...

    Donc effectivement, il faut se servir de QProcess.
    On utilise le signal readyReadStandartOutput(), qui permet la lecture sur la sortie standard.
    Pour la sortie erreur, on utilisera readyReadStarndartError().

    Voila comment afficher le contenu d'une commande système dans un textEdit :
    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
     
     
    // Init :
    {
    process = new QProcess(parent);
     
    connect(process,SIGNAL(readyReadStandartOutput()), this,SLOT(AffichageConsole()));
    connect(process,SIGNAL(readyReadStarndartError()), this,SLOT(AffichageConsole()));
     
    process.start("find / -iname toto");
     
    }
     
    // Gestion signal
    void MaClasse::AffichageConsole()
    {
    // Mon textEdit s'appel "out"
     
    out->append(process->readAllStandartOutput());
    out->append(process->readAllStandartError());
     
    }
    Voilà.
    J'espère que ca pourra dépanner certaines personnes.

    Cordialement,
    PKO
    Quand c'est trop, c'est pas bon !

Discussions similaires

  1. Forcer l'affichage d'une page dans un cadre
    Par Thcan dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/11/2005, 10h58
  2. [PHP-JS] Affichage d'une image dans une popup à la taille
    Par urbanspike dans le forum Langage
    Réponses: 3
    Dernier message: 27/09/2005, 20h53
  3. Réponses: 1
    Dernier message: 11/05/2005, 17h28
  4. [DEBUTANT][HTML] affichage d'une image dans une page
    Par nimport nawak dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 12/04/2005, 19h50
  5. Réponses: 4
    Dernier message: 18/04/2004, 13h36

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