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 :

gtkmm - activer les boutons


Sujet :

GTK+ avec C & C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut gtkmm - activer les boutons
    Bonjour,

    Je fais une petite appli en gtkmm (faite sous glade) pour controler un moteur par port serie. Et j'ai un petit soucis avec mes buttons.

    Lorsque je clique sur un bouton, cela me lance une boucle "infini" qui permet de faire tourner le moteur en boucle.
    Pour arrêter cette boucle, il faut cliquer sur un autre bouton.

    le problème c'est qu'une fois le premier bouton cliqué les autres sont inaccessibles, même avec un
    set_sensitive(true);

    Y aurait il une option qu'il me manque ?
    Si quelqu'un à une solution ou une bidouille je suis preneur.

    Merci beaucoup.

  2. #2
    Membre expérimenté
    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
    Points : 1 633
    Points
    1 633
    Par défaut
    Si tu pars dans une boucle infinie, tu ne rends jamais la main à gtk+, et donc il est dans l'impossibilité de redessiner tes boutons ou de gérer les évènements de type "clic" qui se produisent. Tu as moyen de retravailler cette boucle infinie pour éviter de bloquer ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    Merci de ta réponse, je ne pense pas pouvoir faire autrement pour la boucle car je dois envoyer des informations au moteur en continu.
    Je vais regarder si je peux pas contourner le problème avec un fork ou quelque chose dans le genre.

  4. #4
    Membre expérimenté
    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
    Points : 1 633
    Points
    1 633
    Par défaut
    g_idle_add ou g_timeout_add peuvent peut etre t'aider ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Je regarde, ce sont mes premier pas en GTK, je vais jeter un coup d'oeil à la doc.
    Merci beaucoup pour ton aide

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Après avoir lu pas mal de sujet très similaires au miens, je pense que la meilleur des solutions sera d'utiliser un thread car je ne peux pas me permettre de fragmenter le boucle (ce serai dommage que le moteur arrête de tourner quand on en à besoin !).

    Merci pour ton aide teuf13

  7. #7
    Membre expérimenté
    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
    Points : 1 633
    Points
    1 633
    Par défaut
    Ta boucle sera de toute façon fort probablement fragmentée que tu le veuilles ou non (sauf si tu as pris des précautions particulières dans ce sens) : l'OS reprend la main régulièrement pour faire tourner les autres applications. Si tu utilises un thread, prends garde à ne pas faire d'appel à des fonctions gtk+ depuis ce thread.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    C'est bon avec un thread ça marche parfaitement. T'es posts des autres sujets m'ont bien aidé aussi !

    A bientôt (enfin j'espère ne plus avoir à trop poster pour demander de l'aide )

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

Discussions similaires

  1. [XL-2003] activer les boutons selon des évènements
    Par doudou8mc dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/11/2009, 15h07
  2. un script pour activer les boutons
    Par kokumbo dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/02/2008, 10h58
  3. activer les boutons d'une animation
    Par zaynabe dans le forum Flash
    Réponses: 3
    Dernier message: 24/01/2008, 11h00
  4. Comment activer les boutons d'un JSpinner à distance.
    Par jeanlouis_lecodeur dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 06/08/2007, 17h37
  5. [FLASH MX] J'arrive pas à activer les boutons
    Par gil51 dans le forum Flash
    Réponses: 20
    Dernier message: 02/08/2006, 08h39

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