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 :

Récupération de données et inclusion dans un prog C


Sujet :

GTK+ avec C & C++

  1. #41
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    C'est ça d'être réactif !

  2. #42
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 27
    Par défaut
    Bonjour, je viens donner des nouvelles:
    1- J'ai réussi à apprendre des truc interessant sur le site
    2- J'ai quasiment fini mon projet ^^

    Alors, il me reste a faire:
    1- le graphique (que me conseillez vous? Cairo ???).
    2- Afficher ma chaine concaténée dans un label (je devrais y arriver sans trop de soucis....)
    3- Trouver comment on fait appel à des fonction sans le maudit: "cliked" ^^

    Pour mes problèmes 2 et 3, quelqun s'y conais-t-il svp?
    Merci de votre aide grâce à vous j'ai quasiment fini
    Je peut vous poster mon code si ca vous interesse (attention, il fait 3200 lignes environs ... :/ je suis pas assez bon pour le racourcir T_T).

  3. #43
    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
    Pour le 3), ça dépend entièrement de quand tu veux invoquer tes fonctions. Qu'est ce qui va déclencher leur appel ?

  4. #44
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 27
    Par défaut
    je voudrais que ca s'effectue des que la fenêtre est crée. ^^

  5. #45
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Une idée me traverse l'esprit.

    Si tu tiens à ce que ce soit automatique tu lances un thread dans la boucle principale avec g_timeout_add(); dans lequel tu testes si la fenêtre est affichée grâce à la fonction gtk_widget_get_visible();.

    Si la fonction renvoie TRUE alors tu peux effectuer ton opération et en même temps arrêter ton thread devenu inutile.

  6. #46
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Si tu tiens à ce que ce soit automatique tu lances un thread dans la boucle principale avec g_timeout_add(); dans lequel tu testes si la fenêtre est affichée grâce à la fonction gtk_widget_get_visible();.
    g_timeout_add ne lance pas de thread, tout est encore appelé dans le thread principal. Un moyen simple pour le voir: fais un appel à sleep pour attendre 3 secondes. Eh bien ton interface graphique va rester figé pendant 3 secondes...

  7. #47
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Citation Envoyé par zaku22 Voir le message
    Alors, il me reste a faire:
    1- le graphique (que me conseillez vous? Cairo ???).
    2- Afficher ma chaine concaténée dans un label (je devrais y arriver sans trop de soucis....)
    3- Trouver comment on fait appel à des fonction sans le maudit: "cliked" ^^

    Pour mes problèmes 2 et 3, quelqun s'y conais-t-il svp?
    Merci de votre aide grâce à vous j'ai quasiment fini
    Je peut vous poster mon code si ca vous interesse (attention, il fait 3200 lignes environs ... :/ je suis pas assez bon pour le racourcir T_T).
    1. oui, cairo
    2. utilise g_strconcat pour concaténer, et ensuite un appel à gtk_label_set_text devrait suffire.
    3. dans un système à base d'évènements, tout réagit à des évènements, que ce soit un timer, un évènement d'inactivité, un clic sur un bouton, etc. Tu dois donc déterminer à quel évènement tu es censé répondre pour effectuer ton traitement.

  8. #48
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par liberforce Voir le message
    g_timeout_add ne lance pas de thread, tout est encore appelé dans le thread principal. Un moyen simple pour le voir: fais un appel à sleep pour attendre 3 secondes. Eh bien ton interface graphique va rester figé pendant 3 secondes...
    Abus de langage de ma part . g_timeout_add(); inséres un appel à une fonction dans la boucle principale Gtk. J'ai cette fâcheuse habitude à employer ce mot "thread" un peu à tort et à travers. Promis, je vais tout faire pour me soigner .

  9. #49
    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
    Citation Envoyé par zaku22 Voir le message
    je voudrais que ca s'effectue des que la fenêtre est crée. ^^
    Tu as des signaux "show" et "map-event" définis pour les gtk-widgets, tu devrais pouvoir utiliser un des deux.

  10. #50
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    En général pour le graphisme on se connecte à l'expose-event (en GTK2, c'est l'évènement draw en GTK3 je crois). Dans quel cas tu conseillerais le show ou map-event ?

  11. #51
    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
    Oh, j'ai répondu un peu au hasard, je ne suis même pas sûr de quand est appelé ::show Je présume quand gtk_widget_show est appelé. Pour expose VS map, la différence c'est pas que le premier est appelé chaque fois que la fenêtre est redessinée, tandis que l'autre ne sera appelé que la première fois que la fenêtre est affichée ?

  12. #52
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 27
    Par défaut
    ok merci en effet, j'utilise " gtk_widget_show_all(pWindow); "
    je dois donc écrire: " g_signal_connect(G_OBJECT(pWindow), "gtk_widget_show_all", G_CALLBACK(resulttest2), (GtkWidget*) pHBox3); " ???
    J'avoue avoir du mal avec les signaux émis ... :/

  13. #53
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Non, ce n'est pas cela.

    Pour te connecter à un signal:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g_signal_connect(G_OBJECT(pWindow), "nom_du_signal", G_CALLBACK(ma_callback), pHBox3);

    où "nom_du_signal" est le nom de ton signal, comme "map", "expose-event" ou "show".

    Ensuite, ta callback doit correspondre au prototype de la callback associée au signal. Regarde dans la doc GTK, pour chaque classe, tu as en haut de la page un lien "signals" qui t'indique tous les signaux spécifiques à cette classe. Tu peux te connecter à tous ceux là, plus ceux hérités via ses classes parentes.

  14. #54
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 27
    Par défaut
    dac o dac merci de l'info

  15. #55
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Citation Envoyé par teuf13 Voir le message
    Oh, j'ai répondu un peu au hasard, je ne suis même pas sûr de quand est appelé ::show Je présume quand gtk_widget_show est appelé. Pour expose VS map, la différence c'est pas que le premier est appelé chaque fois que la fenêtre est redessinée, tandis que l'autre ne sera appelé que la première fois que la fenêtre est affichée ?
    expose-event c'est à chaque fois que la fenêtre a besoin d'être redessinée. Donc s'il a besoin de dessiner des choses, c'est là, pas dans l'évènement show je pense...

  16. #56
    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
    Oh, peut être, je me suis juste basé sur "je voudrais que ca s'effectue des que la fenêtre est crée", donc je donnais un moyen d'appeler un callback à la création de la fenêtre

  17. #57
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 27
    Par défaut
    Bonjours, j'ai quasiment terminé ma première version de mon logiciel! ^^
    Il me manque juste deux choses: un graphique (je l'aurais ce maudit Cairo, je l'aurais!) et la date (je cherche une fonction qui me mette dans une chaîne la date/heure ou quelque chose du genre).

    Si quelqu'un connaît une fonction pour la date, je suis preneur.
    Merci.

Discussions similaires

  1. Réponses: 8
    Dernier message: 16/05/2008, 09h53
  2. Récupération de données pour mettre dans un fichier .txt
    Par lince102 dans le forum Interfaces Graphiques
    Réponses: 10
    Dernier message: 24/01/2008, 11h29
  3. Récupération de données de formulaire dans une fenetre fille
    Par xave dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 03/01/2008, 16h22
  4. [SQL] Récupération de données et Insert dans une table
    Par heteroclite dans le forum PHP & Base de données
    Réponses: 32
    Dernier message: 12/07/2006, 16h17
  5. Réponses: 2
    Dernier message: 04/06/2006, 20h11

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