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 :

probleme affichage gtk.Image


Sujet :

GTK+ avec C & C++

  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 18
    Par défaut probleme affichage gtk.Image
    Bonjour,
    j'ai déjà effectué quelques recherche infructueuses (peut être n'ai-je pas cherché au bonne endroit si c'est cela je m'en excuse) et je voudrai connaitre votre avis sur mon problème.
    je travail actuellement sur une application codé en c#/gtk# j'essaie d'afficher une image toute bête dans une gtk.window
    pour ce faire je crée un gtk.image "imgVue" dans un gtk.ScrolledWindow
    puis j'attribue à imgVue.pixbuf un nouvel objet gdk.pixbuf("imgPath")
    (désolé je ne connai pas le code avec gtk+)

    le problème est que lorsque j'instencie la frame j'ai aléatoirement soit une frame sans image avec scrolbar soit une frame avec image mais sans scrolbar et parfois la frame+scrolbar et la c'est impecable
    dans les deux premier cas il semble y avoir un problème du coté du server X, dans les deux premiers cas la frame ne se rafraichie plus et je n'ai plus aucune réaction graphique dans mon application (au passage de la souris au dessu de mes boutons par exemple)
    j'ai même eu quelque fois une interruption du programme avec comme sortie :
    X Error: BadRequest (invalid request code or no such operation)
    j'ai l'impression que deux fois sur trois le server X s'en prend plein la tête lorsque j'éssai d'associer mon gdk.pixbuf a mon gtk.image mais je n'ai aucune idée de pourquoi

    je n'ai pas l'impression d'avoir été très clair ... mais je ne vois pas vraiment comment mieux expliquer mon problème
    je suis donc ouvert à toute vos suggestion

    bien à vous, jérôme

  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
    T'as des threads dans ton appplication ? T'arrive à faire marcher ce que tu veux faire dans un programme minimal ? (qui prend en argument un nom d'image et qui affiche juste feneêtre + scrolledwindow + gtkimage)

  3. #3
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 18
    Par défaut
    non je n'ai aucun thread dans mon application,
    et pour le moment je m'en suis tenu au programme minimal, comme j'essayais de l'expliquer le constructeur de mon gdk.pixbuf ne prend en argument que le chemin de l'image.
    et ce qui est étrange c'est que 1 fois sur trois l'application fonctionne correctement (window + scrollwindow + image) mais deux fois sur trois il y a des bug graphique, plus de rafraichissement dans toute l'application jusqu'à la fermeture de la fenêtre sensé afficher mon image. Quelques fois, lorsque j'éssai d'ouvrir la dite fenêtre j'ai même une fermeture de l'application avec en sortie une erreur X. Après quelque test je me suis rendu compte que l'erreur X n'est d'ailleurs pas toujours la même que l'erreur mentionné dans mon précédent post.

  4. #4
    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
    Tu dis que c'est une fenêtre de ton application qui s'ouvre et essaie d'afficher l'image. Quelque chose de minimal, c'est un programme qui ouvre uniquement une fenêtre et qui affiche l'image dans une scrolledwindow, sans faire partie d'un bout de code plus gros. Ca donne vraiment l'impression que c'est un souci de threads ton histoire :-/ T'utilise peut être des fonctionnalités "magiques" de c# qui créent des threads sans que tu t'en rendes compte ?

  5. #5
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 18
    Par défaut
    oui effectivement,
    je devais avoir la tête un peu ailleurs hier soir, après t'avoir répondu je me suis un peu replongé dans mon code et effectivement j'utilise des "processus" c# juste avant l'apel de la fenetre qui sont très certainement exécutés dans dans threads. Je vais regarder un peu cette partie du code que j'avais oublié et je suis sur que j'y trouverai la solution a mon probleme.
    merci

  6. #6
    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
    Le truc important en gtk+, c'est que *tous* les appels à des fonctions graphiques gtk+ soient faites depuis le même thread. Si tu fais des appels depuis 2 threads différents, tu observes des "gels" de l'interface ou des crashes X11 un peu aléatoires.

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/11/2009, 08h42
  2. Réponses: 1
    Dernier message: 06/05/2009, 09h54
  3. probleme affichage une image arriere plan
    Par sooprano dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 09/02/2009, 18h00
  4. probleme affichage d'images avec url relative en css.
    Par wiki23 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 12/04/2008, 13h21
  5. Probleme Affichage Des Images
    Par The Mafalian dans le forum ASP.NET
    Réponses: 3
    Dernier message: 07/10/2007, 12h41

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