Jump to content
Nous sommes au courant pour les messages privés des jolies demoiselles. L'équipe de modération s'en est occupé. Merci de ne plus signaler les messages. ×

Archived

This topic is now archived and is closed to further replies.

Mephisto

interface en GTK

Recommended Posts

Bonjour

J'ai un programme qui tourne en continue et fait du calcul, et j'aimerais avoir un affichage en temps reel des resultats sur une interface GTK

mais comme j'ai commence le GTK hier soir entre deux bieres, pour coller du texte, je connais que les labels, et, je ne suis pas certain, mais il me semble que c'est pas vraiment dynamique a la base :\

des petites idees ??

Merci!

Share this post


Link to post
Share on other sites

Salut,

Alors je ne m'y connais ni en C/C++ ni en GTK...

Cependant, les conseil que je vais te donner devraient marcher quand même, puisqu'ils s'agit de principes indépendants du langage de programmation utilisé.

Ce que tu veux faire c'est une GUI qui rende compte des calculs et des résultats, donc pour cela, tu vas créer une intergace graphique (appelons-la "vue") d'un certain travail (appelons-le "modèle"). Ce modèle ne se charge que du calcul proprement dit, et non d'un quelconque affichage.

Ce modèle évolue dans le temps, et il faut donc que la vue en soit informée pour se modifier en conséquence (montrer les nouvelles valeurs et/ou l'avancement des calculs).

Pour cela, ta vue va "écouter" ton modèle, c'est à dire que ta vue va se déclarer un écouteur (en anglais listener) de ton modèle.

Donc tu vas devoir avoir recours à un Design Pattern (ou Motif de conception) appelé MVC (pour Modèle-Vue-Contrôleur).

Techniquement, cela se passe ainsi:

  1. La vue s'enregistre auprès du modèle
  2. Le modèle se modifie, suite à un calcul effectué par exemple
  3. Le modèle avertit tous ceux qui l'écoutent que son état a changé
  4. La vue en est avertie: elle interroge le modèle pour connaître ses nouvelles valeurs
  5. La vue se re-dessine en se basant sur les nouvelles valeurs récupérées

Donc en fait, tu peux utiliser des labels, et faire en sorte que la vue change la valeur de ce label à partir des nouvelles valeurs du modèle.

Share this post


Link to post
Share on other sites

×
×
  • Create New...