modification apparence tkinter

Le
yveslc35
Bonjour,
Un p'tite question avant Noël : avec Tkinter, quelle est la méthode
qui permettrait de provoquer le réinitialisation de l'affichage de
tous les widgets d'une appli ? Voilà, j'avais imaginé dans une appli
donnée définir différents styles d'affichages de couleurs par un
bouton approprié. Il y aurait p.ex. 5 styles (desert, mer, campagne,
montagne, espace) correspondant chacun à une palette de couleurs
coodonnées pour tous les widgets de l'appli (fenetre, frames,
listbox,.textes,etc). Chaque widget a son paramètre couleur
défini par une variable donc facile à modifier.
Mais cela ne suffit pas de modifier les variable couleurs, encore faut-
il les réappliquer et réafficher tout. Faut-il faire un
nomwidget.configure pour chaque widget (c'est lourd !) ou tout
modifier par un réappel de l'appli ou je ne sais pas quelle commande
magique :)) ?
merci.
YLC
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric Brunel
Le #18206951
On Mon, 22 Dec 2008 13:55:20 +0100,
Bonjour,
Un p'tite question avant Noël : avec Tkinter, quelle est la méthode
qui permettrait de provoquer le réinitialisation de l'affichage de
tous les widgets d'une appli ? Voilà, j'avais imaginé dans une appli
donnée définir différents styles d'affichages de couleurs par un
bouton approprié. Il y aurait p.ex. 5 styles (desert, mer, campagne,
montagne, espace) correspondant chacun à une palette de couleurs
coodonnées pour tous les widgets de l'appli (fenetre, frames,
listbox,....textes,...etc). Chaque widget a son paramètre couleur
défini par une variable donc facile à modifier.
Mais cela ne suffit pas de modifier les variable couleurs, encore faut-
il les réappliquer et réafficher tout. Faut-il faire un
nomwidget.configure pour chaque widget (c'est lourd !) ou tout
modifier par un réappel de l'appli ou je ne sais pas quelle commande
magique :)) ?
merci.
YLC



Je ne suis pas sûr qu'il soit possible de faire ça simplement avec tcl/tk
pré-8.5, sauf à effectivement retenir tous les widgets et appeler un
configure sur tous.

Avec les nouveaux widgets introduits dans tk 8.5 par contre, regarde du
côté de la commande 'style'
(http://www.tcl.tk/man/tcl8.5/TkCmd/ttk_style.htm), en particulier la
commande 'ttk::style theme use ...'. Ca a l'air de faire ce que tu veux
(je n'ai pas essayé).

HTH
--
python -c "print ''.join([chr(154 - ord(c)) for c in
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"
yveslc35
Le #18207941
Ok, je vais regarder ça.
Merci
YLC
yveslc35
Le #18214031
On 23 déc, 12:16, wrote:
Ok, je vais regarder ça.
Merci
YLC



Ben non, en fait, tk8.5 est implémenté pour TCL mais apparamment pas
pour python où il n'y a que Tkinter !.....
Eric Brunel
Le #18215391
On Wed, 24 Dec 2008 10:58:03 +0100,
On 23 déc, 12:16, wrote:
Ok, je vais regarder ça.
Merci
YLC



Ben non, en fait, tk8.5 est implémenté pour TCL mais apparamment pas
pour python où il n'y a que Tkinter !.....



Juste une petite précision: Tkinter n'est qu'un "wrapper" Python qui
appelle en fait un interpréteur tcl. Il n'y a donc pas un tk8.5 pour tcl
et un autre pour Python: c'est le même. Ce qui peut manquer - et qui
manque peut-être encore -, ce sont les wrappers Tkinter pour les nouvelles
fonctionnalités de tk8.5. Il était plus ou moins prévu de les intégrer à
la distribution officielle pour Python 2.6, mais j'avoue que je n'ai pas
regardé si ça a été fait. S'ils n'y sont pas encore, les wrappers
"pré-officiels" sont là: http://pypi.python.org/pypi/pyttk

HTH
--
python -c "print ''.join([chr(154 - ord(c)) for c in
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"
Publicité
Poster une réponse
Anonyme