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

GTK+ avec C & C++ Discussion :

Redirection de printf vers un label


Sujet :

GTK+ avec C & C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut Redirection de printf vers un label
    Bonjour (ou bonsoir ),

    Comme je l'ai mentionné dans un post précédent, je suis débutant avec GTK+...

    Dans le cadre de l'implémentation d'une petite interface graphique pour un programme en C, j'ai créé dans cette interface une zone de style "console" dans laquelle j'aimerais rediriger les printf vers un label (qui se mettrait donc à jour automatiquement) ou créer une méthode du genre.

    Je n'ai hélas pas réussi à trouver d'infos claires sur les fonctions permettant d'effectuer cette redirection... car je suppose qu'il existe de telles fonctions

    Quelqu'un aurait-il une indication à me donner à ce sujet ou une piste de recherche vers telle ou telle structure de la librairie ?

    D'avance merci ! (et désolé pour cette question dont la réponse paraitrait p-e évidente pour certains )!

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    C'est peut etre g_strdup_printf que tu cherches. Tu veux formater ta chaine comme avec un printf et l'afficher dans un label ? Ou tu veux faire le printf dans ta console et en plus mettre ce qui apparait dedans dans un label ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut
    Citation Envoyé par teuf13 Voir le message
    Tu veux formater ta chaine comme avec un printf et l'afficher dans un label ? Ou tu veux faire le printf dans ta console et en plus mettre ce qui apparait dedans dans un label ?
    En fait les deux me conviendraient, je ne suis pas difficile Mais il est vrai que je trouverais peut-être plus intéressant d'avoir le printf dans le label et dans la console... Je dirais qu'intuitivement cela pourrait peut-être éviter certains "doublons" de code (mais sans certitude...).

    En tout cas merci à toi, je vais explorer la voie du g_strdup_printf que tu me proposes et je te tiens au courant du résultat.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut
    Bon, j'ai regardé un peu la doc de g_strdup_printf. Cela ne correspond malheureusement pas à ce dont j'ai besoin.

    g_strdup_printf fonctionne comme sprintf, qui permet juste de formater une chaine de caractères.

    J'arrivais déja à faire cela avant. Ce dont j'aurais besoin, c'est pouvoir changer le texte qu'affiche un label dans mon interface, lorsque l'interface est déja lancée. Donc par exemple changer le texte du label lorsque j'apppuie sur un des boutons de l'interface.

    Merci pour votre aide

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    T'es pas super précis en ce qui concerne exactement ce que tu n'arrives pas à faire. Il suffit de connecter un callback sur le signal 'clicked' de ton bouton et de faire un gtk_label_set_text dans ton callback. Et non, g_strdup_printf c'est pas exactement comme sprintf, ca alloue de la mémoire donc t'as moins besoin de réfléchir quand tu l'utilises

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut
    Citation Envoyé par teuf13 Voir le message
    Et non, g_strdup_printf c'est pas exactement comme sprintf, ca alloue de la mémoire donc t'as moins besoin de réfléchir quand tu l'utilises
    Oui, tu as raison... Je n'avais luste pas voulu rentrer dans les détails

    Tu as également raison en ce qui concerne le gtk_label_set_text. Je pensais déja l'utiliser mais je viens de voir que je m'étais planté et que j'utilisais plusieurs fois gtk_box_pack_start à la place comme un boulet :s

    Donc voila, la mise à jour du label fonctionne. Il me reste juste à trouver un moyen d'afficher mon texte sans effacer le texte affiché précédemment, ce que fais apparemment le gtk_label_set_text... je jette donc un oeil pour corriger ce dernier aléa (en espérant y arriver... J'espère pouvoir faire cela dans un label sans devoir créer un autre widget plus approprié).

    Encore merci à toi, teuf13, désolé de t'avoir fait perdre ton temps à cause d'une distraction de ma part...

  7. #7
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Un GtkTextView serait peut etre plus adapte qu'un gtklabel non ? GtkLabel pour moi, c'est fait pour afficher quelques mots, pas plusieurs lignes. Un GtkTextView est par contre adapte a l'affichage d'une quantite de texte plus consequente

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut
    En effet, je pensais pouvoir y arriver juste avec les labels, mais ils ne sont pas assez "fournis". Go pour les GtkTextView alors.

    Merci pour ton aide !

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 03/02/2015, 19h37
  2. [c#]Redirection automatique http vers https
    Par Filippo dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/12/2009, 09h57
  3. redirection de la commande printf vers un fichier
    Par carvi dans le forum Langage
    Réponses: 5
    Dernier message: 10/07/2008, 09h56
  4. Réponses: 1
    Dernier message: 04/09/2007, 14h56
  5. [Rave5] Comment envoyer un text ver un label
    Par pacs dans le forum Rave
    Réponses: 2
    Dernier message: 03/03/2005, 14h55

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