|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Salut,
Malgré l'absence de doc adaptée aux développeurs python, je pense avoir compris comment marche ce widget. Par contre pour le passage de paramètres aux différentes enfants, c'est le flou total... Quelqu'un saurait par exemple comment changer la couleur globale du checklist ou mieux, de ses différents enfants? Code :
Pfeuh |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Fred Enseignant Inscription : juillet 2006 Messages : 1 304 ![]() |
Il semblerait que les options soient les mêmes quelque-soit le widget, mais ne connaissant pas je vous laisse vérifier.
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein) |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 608 ![]() |
Bonjour,
Comme ceci ? Code :
tree.hlist.config(bg='red', fg='blue', selectbackground='blue', selectforeground='red') @+
__________________
Merci d'utiliser le forum pour les questions techniques. |
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Salut,
Citation:
A+ Pfeuh |
|
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Fred Enseignant Inscription : juillet 2006 Messages : 1 304 ![]() |
La méthode config est déjà existante avec tkinter...
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein) |
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 690 ![]() |
Salut,
La surprise avec Tix, c'est la construction d'une composition de widgets. Tk, librairie graphique n'adresse pas ce sujet et ne propose que le basique: partir d'une Frame et insérer les subwidgets dedans. De fait, suivant la fonction du widget on pourrait configurer "globalement" et appliquer les items de configurations aux différents subwidgets, avoir des configurations spécifiques à chaque subwidget, effectuer un mix des deux. Pour comprendre, il faut arriver à lire la documentation TCL de Tix et les sources de l'interface Python pour voir comment cela a été mis en œuvre. Rien de très compliqué mais parfois décourageant. - W
__________________
Architectures Post-Modernes |
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Certes, mais pour le moins redondante... Comme il existe au moins 3 ou 4 façons différentes d'accéder aux attributs, j'ai ignoré config jusqu'à présent.
Tout à fait, décourageant, c'est le mot. Une autre chose de vraiment décourageante, c'est de me rendre compte qu'une fenêtre modale Tix, bien qu'isolée dans un script à part ne se mélange pas avec des objets Tkinter. Tant que j'appelle du standard, comme un Toplevel ou un Button, pas de problème, mais dès que j'appelle du spécifique Tix comme le CheckList, Tkinter qui était là en premier me pète une exception. Tkinter est pour moi inévitable puisque présent dans les bibliothèques d'import que j'utilise. Code :
|
||
|
|
00
|
|
|
#8 | |||||
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 690 ![]() |
Salut,
Citation:
Pour que les widgets Tix soit définis (dans l'interpréteur Tk qui se cache dérrière tk.call) il faut initialiser le Tk de Tix et pas celui de Tk. En code: Code :
- W
__________________
Architectures Post-Modernes |
|||||
|
|
00
|
|
|
#9 | ||||
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Non, je ne le faisais pas, merci du tuyau, je comprends la logique de la chose. Donc je viens de le faire, en insérant les 2 lignes suivantes tout au début du script principal avant les imports:
Code :
Code :
|
||||
|
|
00
|
|
|
#10 | ||||
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 690 ![]() |
Hum, ca ne devrait pas être comme çà!
La classe LabelFrame étant dans Tkinter et dans Tix, il faut préciser laquelle on veut. Dans la trace que vous fournissez, je ne comprends pas comment l'appel a tk.LabelFrame passe dans le tix.LabelFrame. Code :
Si vous faites le test "basique": Code :
Comment, à quoi est assignée tk dans le module gui.py? - W
__________________
Architectures Post-Modernes |
||||
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Euh... Je ne peux pas répondre car j'ai fait quelques modifications entre temps, en désespoir de cause
Il ne me reste plus que quelques histoires de fenêtres modales à résoudre. J'ai une fenêtre principale, Tix.Tk() et un nombre variable de fenêtres Toplevel, une par périphérique, les périphériques s'ajoutant et s'enlevant par l'utilisateur. On doit pouvoir à tout moment ajouter ou supprimer des objets dans les fenêtres des périphériques, d'où le Tix.CheckList en modal déclenché par un Toplevel. Mais à la sortie, les fenêtres sont totalement désorganisées, il y en a qui sont passées derrière toutes les autres, d'autres qui se retrouvent au premier plan , etc... Pire, La fenêtre qui est sensée être modale se retrouve derrière les autres... A+ Pfeuh |
|
|
00
|
|
|
#12 |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 690 ![]() |
Salut,
Une Toplevel n'est pas "modale" même si elle apparaît généralement "au dessus", par défaut. La FAQ Tk donne quelques indications pour faire çà. Avec plusieurs Toplevel, il va y avoir des chevauchements et certaines opérations pourront demander de redessiner toute la hiérarchie. Normalement, çà se redessine au bon endroit mais l'empilement suit l'ordre (z-order) de création des Toplevel même si l'utilisateur a changé ce "stacking" (ce qu'il voit à l'écran) suite à des clicks _dans_ les Toplevels. Les clicks donnent le focus et le focus "pousse" la Toplevel au dessus mais ne change pas le z-order: il faudrait faire un .raise. - W
__________________
Architectures Post-Modernes |
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Dès que j'ai un moment, je code un script minimaliste de ce que je voudrais faire, je crois que ce sera le plus clair.
A+ Pfeuh |
|
|
00
|
|
|
#14 | ||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 608 ![]() |
Bonsoir,
A partir du moment que vous connaissez .config(), et donc les options d'un Widget(subwidget), rien ne vous empêche de vous amuser. Code :
__________________
Merci d'utiliser le forum pour les questions techniques. |
||
|
|
00
|
|
|
#15 | ||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 608 ![]() |
Code :
__________________
Merci d'utiliser le forum pour les questions techniques. |
||
|
|
00
|
|
|
#16 |
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Salut,
Voici le code minimaliste. En l'écrivant, j'ai compris quelques erreurs et j'ai donc corrigé, mais il doit en rester pas mal sur la gestion des fenêtres. Au lancement de l'application tout va bien, la fenêtre principale a le focus et elle est au dessus des autres, mais après, ça devient le Bronx... A+ Pfeuh |
|
|
00
|
|
|
#17 | |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 690 ![]() |
Salut,
Citation:
- W
__________________
Architectures Post-Modernes |
|
|
|
00
|
|
|
#18 | |
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Citation:
Rajouter une fenêtre se fait par le bouton "ADD WINDOW" de la fenêtre principale. Dans ce cas, oui, il faudrait qu'après le rajout la fenêtre principale soit au dessus et ait le focus. Mais quand on change la liste des objets affichés d'une fenêtre "toto", on le fait à partir du bouton "SELECT OBJECTS" de la fenêtre "toto", donc après la sélection c'est "toto" qui devrait être au dessus et avoir le focus. Ça par contre, ça a l'air de se passer bien. Là je répondrai non, la fenêtre principale ne devrait ni être au dessus des autres ni avoir le focus puisque ce serait le rôle de "toto". |
|
|
|
00
|
|
|
#19 | |||
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 690 ![]() |
Salut,
Citation:
Code :
__________________
Architectures Post-Modernes |
|||
|
|
00
|
|
|
#20 | |
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Citation:
|
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com