-
Cacher un widget
Bonjour,
Je suis débutant en Perl. En effet, ça fait deux semaines que j'ai commencé à coder, plus particulièrement en Perl/Tk pour une interface graphique. J'ai largement utilisé la FAQ Perl/Tk pour mon apprentissage qui est d'ailleurs très bien faite. Venons en à ma question... :
Je voudrais juste savoir s'il existe une fonction permettant de cacher un widget. Mon problème est que j'ai 2 CheckButton, un qui fait apparaitre un champ de texte (Entry) et j'aurai aimé que l'autre le cache.
Si cela est impossible, est-ce-qu'il existe une fonction permettant de rendre "inactif" les widgets? C'est-à-dire qu'on ne puisse pas modifier le texte d'un "Entry" par exemple?
-
Comment icônifier, rendre invisible et restaurer ma fenêtre ?, mais dans ton cas, tu souhaites cacher ou inactiver un Widget Entry (donc pas de premier niveau).
Ce qu'il faudrait c'est soit utiliser
Code:
$entry->packForget();
si tu avez utilisé le gestionnaire pack, le widget disparaitra, mais ne sera pas détruit. Le problème est qu'il ne sera plus dans la pile et si tu souhaites le réafficher, il se mettra à la suite des autres widgets. Le plus simple pour toi serait juste d'inactiver le widget Entry en utilisant l'option
Code:
-state => 'disabled',
-
Merci, j'ai opté pour "cacher" mon widget. Pour info pour faire ré-apparaitre le widget, il suffit d'utiliser pack :
$widget->packForget(); #cacher le widget
$widget->pack("options"); #ré-apparaitre le widget
Merci encore pour le coup de main.