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

Caml Discussion :

[OCAML] Effacer des widgets sur LablGTK


Sujet :

Caml

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 27
    Points
    27
    Par défaut [OCAML] Effacer des widgets sur LablGTK
    Bonjour tout le monde,

    Pour un projet d'informatique je dois faire une interface graphique pour une manipulation d'image. Mais je suis face à un problème dont je n'arrive pas trouver la solution sur internet.

    En gros, quand je lance l'application j'ai deux boutons qui s'affichent : "Ouvrir" et "Quitter".

    Maintenant où je rencontre mon problème est, après avoir ouvert/chargé une image je voudrais que tout l'affiche s'efface pour pouvoir passer à une autre interface.

    C'est à dire d'effacer les 2 boutons présents et les remplacer par d'autres boutons permettant la manipulation de l'image.

    Mais je ne sais pas comment faire pour qu'ils s'effacent après avoir chargé l'image.
    Donc je voulais savoir si vous aviez des idées pour faire cette opération ?

    Merci d'avance
    Cordialement, Rigaux

  2. #2
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Pour moi le bouton "Quitter" n'a pas de raison d'être puisque cette opération est disponible via le window-manager.

    De même le bouton "Ouvrir" n'a pas vraiment de raison d'être puisque cette opération est disponible via le Drag & Drop.

    (Sinon on peut faire disparaître un widget à l'aide de la méthode #hide et le faire apparaître à l'aide de la méthode #show)
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 27
    Points
    27
    Par défaut
    Les bouttons quitter et ouvrir sont là pour faire une sorte d'introduction au programme

    J'essaye d'implémenter le hide mais je n'arrive pas à le faire marcher car quand j'essaie
    Cela me dit que tel widget n'a pas de méthode hide

    De plus je ne sais pas comment je pourrais créer une fonction qui permet de cacher touts les widgets présents sur cette fenêtre d'un seul coup car ils sont déclarés comme fonctions locales...

    Je ne vois absolument pas comment faire ...
    Voici un extrait de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    let bbox = GPack.button_box `VERTICAL
    	~spacing:150
    	~layout:`SPREAD
    	~border_width:5
    	~child_width: 250
    	~child_height: 50
    	~packing:(vbox#pack ~expand:false) ()
     
    (* GtkFileChooserDialog - Boîte de dialogue d'ouverture et d'enregistrement. *)
    let action_button stock event action =
    	let dlg = GWindow.file_chooser_dialog
    		~action:`OPEN
    		~parent:window
    		~position:`CENTER_ON_PARENT
    		~destroy_with_parent:true () in
    	dlg#add_button_stock `CANCEL `CANCEL;
    	dlg#add_select_button_stock stock event;
    	let btn = GButton.button ~stock ~packing:bbox#add () in
    	ignore (GMisc.image ~stock ~packing:btn#set_image ());
    	ignore (btn#connect#clicked (fun () ->
    	if dlg#run () = `OPEN then Gaux.may action dlg#filename;
    	dlg#misc#hide ()));
     	btn
     
    (*Boutton Ouvrir*)
    let load = action_button `OPEN `OPEN (Aux.load);;
     
    (*Boutton Quitter*)
    let quit =
    	let button = GButton.button
    				~stock:`QUIT
    				~packing:bbox#add () in
    	ignore (button#connect#clicked ~callback:GMain.quit);
    	button
    Voici les deux boutons que je souhaite cacher.
    Mais je ne sais pas si je peux cacher complètement bbox d'un seul coup ? qui me permettra alors de cacher les deux boutons d'un coup ?

  4. #4
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Il est tout à fait normal de tâtonner si tu débutes en GTK2.
    GTK2 est un framework, avec un framework on ne décide pas quelle est la meilleure façon de faire les choses, parce que le framework l'a déjà pensé à ta place.

    Si #hide n'existe pas alors on essaye #misc#hide. Et si #misc#hide n'existe pas non plus alors on repense tout et on cherche une autre façon de procéder.

    Pour regrouper les outils les fréquents de ton application je te recommande un GButton.toolbar.

    Pour LablGTK2 il faut un bon tutoriel, une bonne doc de l'API, pourquoi pas un blog d'utilisateur, de l'expérimentation et de la patience, et une grosse dose de bonne humeur
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 27
    Points
    27
    Par défaut
    Haha oui en effet

    J'ai déjà un toolbar mais pour d'autres boutons

    Merci de ton aide je remettrais un post si je n'y arrives vraiment pas

    Merci

    Rigaux

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

Discussions similaires

  1. Empiler des widgets sur la gauche
    Par haraelendil dans le forum Débuter
    Réponses: 4
    Dernier message: 29/09/2008, 19h46
  2. Effacer des données sur un DVD-RW
    Par vg-matrix dans le forum Composants
    Réponses: 2
    Dernier message: 08/09/2008, 09h01
  3. accrocher des widget sur une table
    Par insa59 dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 02/04/2007, 11h32
  4. Effacer des éléments sur click
    Par hugo1992 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 22/03/2007, 16h22
  5. [VB.Net] Comment effacer des traits sur un graphique ?
    Par bert24 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/09/2005, 14h20

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