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

wxWidgets Discussion :

Prblèmes avec wxWidgets 2.8.7/GTK (sous Fedora 9)


Sujet :

wxWidgets

  1. #1
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut [Astuce] Problèmes avec wxWidgets 2.8.7/GTK (sous Fedora 9)
    Bon,jour,

    Je fais ce post au cas ou quelqu'un aurait le même problème que moi:
    En compilant mon app (dvgrabgui) sous Fedora 9, j'ai eu la surprise de voir disparaître la majorité de mes contrôles (ils fonctionnaient toujours quand je cliquait dessus, mais étaient invisibles!).

    Après quelques tâtonnements, j'ai fini par trouver le problème: j'utilise des wxStaticBoxSizer, et il me faut maintenant construire ceux-ci avant tous les contrôles qui y "résideront"...

    Je pense qu'en fait, dans la nouvelle GTK, les staticbox sont devenues opaques (et donc, si elles sont construites après un contrôle, elles le recouvrent!)...

    Voilà; je voudrais savoir ce que vous pensez de cette explication, et j'espère que ça pourra éviter à d'autres de tomber dans ce piège/bug retors!

    Bastien.

  2. #2
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Salut,

    Ce qui m'étonne dans ton fonctionnement, c'est que justement tu as l'air de créer tes contrôles avant le wxStaticBoxSizer. Hors, si je ne m'abuse, le sizer gère l'affichage des contrôles qu'il contient. Donc on devrait créer d'abord le sizer, puis y ajouter les contrôles.
    Ma question est alors simple: comment pouvais-tu faire l'inverse ?? (ou alors j'ai mal compris ton problème )

  3. #3
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Il ne manque pas des appelles à "Layout()" ?

    Sinon peut être qu'après des "Thaw()" -> il faut forcer un "Refresh" ?

    Ou après des Layouts... forcer des Refresh ?

  4. #4
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    Bonjours,
    Spoutspout: normalement, les contrôles sont enfants de la fenêtre, pas de la static box, donc je devrais pouvoir créer mes contrôles avant celle-ci sans problèmes... Quand au sizer, ce n'est qu'un bout de code (pas une fenêtre), il se contente de régler les tailles des éléments qui lui sont assignés: normalement, on peut lui ajouter/enlever des éléments à tout moment!
    En conséquence, je pense que c'est la statique box qui est devenue "opaque": si elle est créée après les contrôles (quand le construis mon wxStaticBoxSizer), elle les recouvre...

    Ti-R: en l'occurence, j'ai essayé divers techniques de raffraichissement, avant de résoudre mon problème comme indiqué dans mon premier message... De toute façon, je rencontre régulièrement des problèmes de layout, quand j'imbrique plusieurs niveau de sizers... mais l'invisibilité des boutons, c'était pour moi une première!

    Bastien

    PS:Je construisais à l'origine mes wxStaticBoxSizer après mes contrôles, pour une question de clarté et d'odonnancement de mon code (quand on a une classe qui regroupe plusieurs dizaines de contrôles, le rangement, ça aide!)

Discussions similaires

  1. Problème avec wxWidget et GCC sous Windows
    Par seladon35 dans le forum wxWidgets
    Réponses: 2
    Dernier message: 08/12/2009, 16h40
  2. Trois problèmes avec GTK+ sous windows xp qui n'ont pas de solutions
    Par smalldebian dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 16/09/2009, 15h01
  3. probleme avec wxwidgets sous codeblocks
    Par cobra85 dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 29/04/2008, 19h14
  4. compilation prog avec wxwidget sous eclipse
    Par grabriel dans le forum Eclipse C & C++
    Réponses: 7
    Dernier message: 08/04/2008, 15h39

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