Pack et forget
[ Nouvelle discussion
| Répondre au groupe
|
fr.comp.lang.tcl ]
Sujet: Pack et forget
De: pas...@nospam.fr (Pascal)
Groupes: fr.comp.lang.tcl
Organisation: Guest of ProXad - France
Date: 02. May 2008, 19:20:38
|
Bonjour,
Je souhaite faire apparaître/disparaître des widgets à la demande.
J'utilise pour cela pack et forget mais lorsque le widget réapparait la
fenêtre ne se redimensionne pas toujours comme il le faudrait. Par
exemple avec le code suivant :
=======================================
#!/usr/bin/tclsh
package require Tk
toplevel .w
frame .w.f1
pack .w.f1 -side left
set ison 0
canvas .w.f1.c -width 300 -height 300
..w.f1.c create line 0 0 300 300 -fill blue
..w.f1.c create line 0 300 300 0 -fill blue
checkbutton .w.f1.cb -text "montre" -command toggle -variable ison
pack .w.f1.cb -side left -anchor nw
proc toggle {} {
if {$::ison} {
# pack propagate .w 1
pack .w.f1.c -after .w.f1.cb -side left
# wm geometry .w
# wm withdraw .w
# wm deiconify .w
} else {
pack forget .w.f1.c
}
}
=======================================
Le canvas s'affiche bien lorsque l'utilisateur n'a pas touché à la
fenêtre mais lorsque la fenêtre a été légèrement agrandie à la main,
l'appui sur la commande ne montre que partiellement le canvas. En
commentaires quelques uns de mes essais infructueux.
Donc existe-t-il une solution (simple sans tout recalculer) pour dire au
WM "tous les widgets doivent être visibles" ?
Pascal

|
 cette fonctionnalité est reservée aux membres ayant une session active !
|