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 :

Superposition des widgets


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 108
    Par défaut Superposition des widgets
    Bonjour,

    En tenant compte des contraintes existantes, je dois implémenter en gtk un mécanisme suivant:
    - Création de plusieurs GtkLabel Widget identiques au même endroit ;
    - Rendre visible un seul de ces widgets à un instant donné selon les différentes séquences d'actions, ...

    Or je ne trouve pas de type de container en gtk permettant la superposition de ces widgets.

    J'aimerais savoir si quelqu'un parmi vous a une solution à ce problème.

    Merci à l'avance et cordialement

  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
    Un GtkNotebook dont tu caches les onglets devraient te permettre de faire ca

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 108
    Par défaut Précision
    La proposition consistant à remplacer plusieurs GtkLabel Widget par un GtkNotebook ne correspond pas à mes besoins. En effet, il me faut absolument plusieurs GtkLabel Widget indépendants pour avoir un traitement compatible avec l'environnement existant assez complexe.

    Merci à l'avance.

  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 crees un GtkNotebook avec N pages. Dans la premiere page tu mets ton premier label, dans la 2eme page tu mets ton 2nd label, ... dans la Neme page tu mets ton Neme label.
    Ensuite, quand tu as une sequence d'action qui t'indique qu'il faut que tu affiches le label X, tu changes la page de ton GtkNotebook pour afficher la page numero X.

    Ca ne correspond pas a ce que tu demandes ce fonctionnement ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 108
    Par défaut Précision (Suite)
    (A Titeuf13)
    Effectivement, ce que tu as décrit correspond à un des fonctionnements souhaités. Mais il n'est pas le seul. Dans d'autres cas de fonctionnement, je dois mettre en visible les P (P inférieur ou égal à N) GtkLabel à P endroits différents de la fenêtre. C'est pour cette raison que je dois créer les N GtkLabel Widget indépendants pour avoir un traitement global.

    Merci à l'avance.

  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
    C'est très flou tout ce que tu décris. Et si tu ajoutes des contraintes au fur et à mesure qu'on te propose des solutions, on va pas s'en sortir. T'as moyen d'expliquer concrètement ce que tu souhaites faire ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 108
    Par défaut Précision (suite 2)
    Ci-après mon petit problème:
    L'utilisateur doit suivre l'évolution de N valeurs mais ne dispose que de M endroits à l'affichage (M inférieur ou égal à N). Exemple N = 4, M = 2.
    Il doit suivre en temps réel les sources s1, s2, s3, s4 affichées à des positions p1 et p2 à l'écran.
    Supposons qu'à l'instant t, s2 est prioritaire. Il met alors s2 à la position p1. Les autres s1, s3, s4 à la position p2. Dans ce cas, s2 est toujours visible à l'écran, alors qu'une seule des trois s1, s3, s4 est visible selon le choix.
    A un instant t+1, s4 devient prioritaire. Il met alors s1, s2, s3 à la position p1 et s4 à la position p2 ...

    Pour résoudre ce problème, je pense qu'il serait très simple d'associer chaque source s1, s2, ... à un GtkLabel puis utiliser des fonctions show/hide l'affichage. Cette solution a uniquement besoin de N créations widget. Seulement cela suppose que gtk supporte la superposition des widget. Est-ce vrai ?
    Sinon, je devrais effectivement envisager des GtkNotebook comme tu l'as suggéré. Mais cette solution me paraît très lourde car il me faut autant de GtkNotebook que le nombre d'endroits à afficher. Cette solution nécessite alors jusqu'à N*P créations widget. Surtout si N et P peuvent être élevés.

    Excusez-moi de cette longue explication que j'espère ... compréhensible.
    Merci à l'avance et cordialement.

  8. #8
    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 dois pouvoir ajouter/enlever dynamiquement tes widgets des containers puor les déplacer dans le container le plus approprié

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 108
    Par défaut Confirmation
    Merci pour tes pertinentes suggestions sur gtk. Pour clore ce fil d'échange, J'aimerais néanmoins avoir ta confirmation sur le point général suivant :
    - gtk ne supporte pas la superposition des widgets. Le mécanisme show/hide des widgets au même endroit en affichage doit être remplacé par une autre solution.

    Car la suite de mon application en dépend fortement.

    Encore merci mille fois et cordialement.

  10. #10
    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
    Ce n'est effectivement pas possible, de même que tu ne peux pas insérer la même instance d'un widget dans plusieurs containers en simultanés. Par contre dans ton cas, tu dois pouvoir utiliser des fonctions telles que gtk_container_remove/gtk_container_add pour déplacer dynamiquement un widget "au bon endroit"

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

Discussions similaires

  1. accrocher des widget sur une table
    Par insa59 dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 02/04/2007, 11h32
  2. Exporter des widgets depuis une DLL
    Par zebiloute dans le forum wxWidgets
    Réponses: 5
    Dernier message: 31/07/2006, 08h14
  3. [BorderLayout] superposition des composants.
    Par vasilov dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 08/07/2005, 11h51
  4. [java3d] superposition des éléments
    Par moutse dans le forum 3D
    Réponses: 3
    Dernier message: 19/10/2004, 12h59

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