Outils pour utilisateurs

Outils du site


issue194:python

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue194:python [2023/07/03 12:42] auntieeissue194:python [2023/07/03 14:42] (Version actuelle) auntiee
Ligne 99: Ligne 99:
 Ensuite, nous devons créer un élément personnalisé qui contient les informations sur l'image utilisée pour chaque état. Bien entendu, ces informations changeront en fonction des différents widgets et des différentes parties de l'élément. Vous pouvez créer des images qui seront utilisées pour contrôler la forme du widget et ainsi de suite (page suivante, en haut à droite). Ensuite, nous devons créer un élément personnalisé qui contient les informations sur l'image utilisée pour chaque état. Bien entendu, ces informations changeront en fonction des différents widgets et des différentes parties de l'élément. Vous pouvez créer des images qui seront utilisées pour contrôler la forme du widget et ainsi de suite (page suivante, en haut à droite).
  
-Enfin, nous devons définir la mise en page. C'est la partie VRAIMENT difficile. En général, un widget se compose d'un ou plusieurs éléments. Pour le bouton TCheckbutton, il y a une bordure, un padding, un focus et une étiquette. C'est variable suivant la classe du widget (page suivante, en bas à droite)+Enfin, nous devons définir la mise en page. C'est la partie VRAIMENT difficile. En général, un widget se compose d'un ou plusieurs éléments. Pour le bouton TCheckbutton, il y a une bordure, un padding (remplissage), un focus et une étiquette. C'est variable suivant la classe du widget (page suivante, en bas à droite)
  
  
Ligne 116: Ligne 116:
 Je ne vais pas passer en revue tous les widgets ttk gérés par le module de style. J'ai essayé de traiter tous les widgets ttk standard disponibles. Je ne vais pas passer en revue tous les widgets ttk gérés par le module de style. J'ai essayé de traiter tous les widgets ttk standard disponibles.
  
-Lors de la création du thème Tcl, j'ai ajouté une fonction qui semblait importante, mais je ne savais pas vraiment ce qu'elle faisait. Elle ne provoquait aucune erreur, donc je l'ai laissée. Finalement, j'ai essayé de nettoyer le code inutile et je suis revenu à la fonction dont je ne savais pas ce qu'elle faisait. Elle n'était pas dans tous les thèmes que j'ai regardés dans mon processus d'apprentissage, alors j'ai décidé de chercher à quoi elle servait. Voici le code (en haut à droite).+Lors de la création du thème Tcl, j'ai ajouté une fonction qui semblait importante, mais je ne savais pas vraiment ce qu'elle faisait. Elle ne provoquait aucune erreur, donc je l'ai laissée. Finalement, j'ai essayé de nettoyer le code inutile et je suis revenu à la fonction dont je ne savais pas ce qu'elle faisait. Parce qu'elle n'était pas dans tous les thèmes que j'ai regardés dans mon processus d'apprentissage, j'ai décidé de chercher à quoi elle servait. Voici le code (en haut à droite).
  
  
Ligne 127: Ligne 127:
 In our demo program, we will skip all the normal imports and jump right into the startup function (bottom right).** In our demo program, we will skip all the normal imports and jump right into the startup function (bottom right).**
  
-Il s'avère que la fonction tk_setPalette a été créée pour permettre aux widgets Tk normalement non-thématisables d'avoir un pseudo-thème appliqué en laissant la fonction tk_setPalette remplacer la base de données normale pour les widgets Tk. Nous en verrons plus lorsque nous entrerons dans le code du programme de démonstration, ce que nous allons faire maintenant.+Il s'avère que la fonction tk_setPalette a été créée pour permettre aux widgets Tk normalement non-thématisables d'avoir un pseudo-thème appliqué en laissant la fonction tk_setPalette outrepasser la base de données normale pour les widgets Tk. Nous en verrons plus lorsque nous entrerons dans le code du programme de démonstration, ce que nous allons faire maintenant.
  
 Voici à quoi ressemble la version sur PAGE designer du programme de démonstration. Voici à quoi ressemble la version sur PAGE designer du programme de démonstration.
Ligne 140: Ligne 140:
 Here is the fix_TLabels function. I get the background color from the styling module, then create a list of all the TLabel aliases. Then I simply walk through the list, applying the background color (next page, top right).** Here is the fix_TLabels function. I get the background color from the styling module, then create a list of all the TLabel aliases. Then I simply walk through the list, applying the background color (next page, top right).**
  
-Comme vous pouvez le voir, nous définissons notre instance sty de l'objet ttk.Style, puis nous appelons la fonction create_styles du module de stylisme. Malheureusement, les ttk.TLabels n'aiment pas être modifiés par un style, nous utilisons donc la fonction fix_Tlabels pour définir les couleurs d'avant-plan et d'arrière-plan appropriées. Ensuite, je mets des données dans les Tk.Listbox et Tk.Textbox et, enfin, je démarre la TProgressbar qui a été mise en mode Indéterminé dans PAGE.+Comme vous pouvez le voir, nous définissons notre instance sty de l'objet ttk.Style, puis nous appelons la fonction create_styles du module de stylisme. Malheureusement, les ttk.TLabels n'aiment pas être modifiés par un style ; aussi, nous utilisons la fonction fix_Tlabels pour définir les couleurs d'avant-plan et d'arrière-plan appropriées. Ensuite, je mets des données dans les Tk.Listbox et Tk.Textbox et, enfin, je démarre la TProgressbar qui a été mise en mode Indeterminate (Indéterminédans PAGE.
  
 Voici la fonction fix_TLabels. Je récupère la couleur d'arrière-plan dans le module de style, puis je crée une liste de tous les alias de TLabel. Ensuite, je parcours simplement la liste, en appliquant la couleur de fond (page suivante, en haut à droite). Voici la fonction fix_TLabels. Je récupère la couleur d'arrière-plan dans le module de style, puis je crée une liste de tous les alias de TLabel. Ensuite, je parcours simplement la liste, en appliquant la couleur de fond (page suivante, en haut à droite).
Ligne 151: Ligne 151:
 Si vous regardez l'image du programme dans le concepteur de pages, vous remarquerez deux cases à cocher en haut du formulaire, près du côté gauche. L'une est intitulée « Afficher la surprise » et l'autre « Désactiver les widgets ». Nous allons d'abord nous occuper de la fonction de rappel « Désactiver les widgets » (en bas à droite). Si vous regardez l'image du programme dans le concepteur de pages, vous remarquerez deux cases à cocher en haut du formulaire, près du côté gauche. L'une est intitulée « Afficher la surprise » et l'autre « Désactiver les widgets ». Nous allons d'abord nous occuper de la fonction de rappel « Désactiver les widgets » (en bas à droite).
  
-Encore une fois, je ne vais afficher qu'une partie de la liste des widgets. Comme je l'ai fait dans la fonction fix_Tlabels, j'ai créé une liste des alias des widgets dont je veux pouvoir contrôler les états normal et désactivé. De cette façon, je peux démontrer la façon dont les widgets réagissent dans les différents états. La liste actuelle contient à la fois les widgets Tk et ttk qui réagissent à l'état désactivé. J'utilise la variable che56, qui est assignée par PAGE pour savoir si la case à cocher est cochée ou non. En fonction de cela, je parcours la liste des widgets et je règle chaque widget dans l'état, désactivé ou normal.+A nouveau, je ne vais afficher qu'une partie de la liste des widgets. Comme je l'ai fait dans la fonction fix_Tlabels, j'ai créé une liste des alias des widgets dont je veux pouvoir contrôler les états normal et désactivé. De cette façon, je peux démontrer la façon dont les widgets réagissent dans les différents états. La liste actuelle contient à la fois les widgets Tk et ttk qui réagissent quand ils sont désactivés. J'utilise la variable che56, qui est assignée par PAGE pour savoir si la case à cocher est cochée ou non. En fonction de cela, je parcours la liste des widgets et je règle chaque widget dans l'état, désactivé ou normal.
  
  
Ligne 164: Ligne 164:
 Ci-dessous, voici le programme en cours d'exécution. Ci-dessous, voici le programme en cours d'exécution.
  
-Vous pouvez maintenant voir le module de style en action. Les boutons TCheckbuttons et TRadiobuttons utilisent les graphiques personnaliséset les autres widgets ttk ont maintenant le style commun. J'ai paramétré le TCombobox, le widget TEntry et le TSpinbox pour qu'ils aient une couleur d'arrière-plan complémentaire qui ne soit pas le blanc éclatant standard.+Vous pouvez maintenant voir le module de style en action. Les boutons TCheckbuttons et TRadiobuttons utilisent les graphiques personnalisés et les autres widgets ttk ont maintenant le style commun. J'ai paramétré le TCombobox, le widget TEntry et le TSpinbox pour qu'ils aient une couleur d'arrière-plan complémentaire qui ne soit pas le blanc éclatant standard.
  
 Nous pouvons maintenant examiner le rappel du bouton « Afficher la surprise ». L'idée ici est d'appeler la fonction tk_setPalette pour montrer la possibilité d'utiliser le style sur les widgets Tk (page suivante, en haut à droite). Nous pouvons maintenant examiner le rappel du bouton « Afficher la surprise ». L'idée ici est d'appeler la fonction tk_setPalette pour montrer la possibilité d'utiliser le style sur les widgets Tk (page suivante, en haut à droite).
  
-Pour pouvoir remettre la palette aux couleurs « normales » de Tk, j'ai dû dupliquer la fonction set_palette et remettre les couleurs aux couleurs standard.+Pour pouvoir remettre la palette aux couleurs « normales » de Tk, j'ai dû dupliquer la fonction set_palette, puis remettre les couleurs aux couleurs standard.
  
  
Ligne 182: Ligne 182:
 Until next time, as always; stay safe, healthy, positive and creative!** Until next time, as always; stay safe, healthy, positive and creative!**
  
-Voici ce qui se passe lorsque le bouton « Afficher la surprise » et le bouton « Désactiver les widgets » sont cochés en même temps.+Voici ce qui se passe lorsque le bouton « Show The Surprise » (Afficher la surpriseet le bouton « Disable Wedgets » (Désactiver les widgetssont cochés en même temps.
  
-Tous les widgets sont maintenant non seulement thématisés, mais aussi désactivés, et vous pouvez voir qu'il est assez évident que les widgets sont désactivés. Même si le bouton radio ou les boutons de contrôle sont sélectionnés, vous pouvez toujours les reconnaître.+Tous les widgets sont maintenant non seulement thématisés, mais aussi désactivés vous pouvez voir qu'il est assez évident que les widgets sont désactivés. Même si le bouton radio ou les boutons de contrôle sont sélectionnés, vous pouvez toujours reconnaître ceux qui sont sélectionnés.
  
 La fonction set_Palette permet également de définir la couleur de la barre de menus. La fonction set_Palette permet également de définir la couleur de la barre de menus.
- 
  
 Tous les fichiers de ce projet se trouvent dans mon dépôt à l'adresse https://github.com/gregwa1953/FCM194. Tous les fichiers de ce projet se trouvent dans mon dépôt à l'adresse https://github.com/gregwa1953/FCM194.
Ligne 198: Ligne 197:
 First, we need to define the images we want to use.** First, we need to define the images we want to use.**
  
-Ça m'a pris du temps pour comprendre comment faire fonctionner toute l'image personnalisée.+Ça m'a pris du temps pour comprendre comment faire fonctionner toute la personnalisation d'une image. 
 D'abord, nous devons définir les images que nous voulons utiliser. D'abord, nous devons définir les images que nous voulons utiliser.
  
Ligne 206: Ligne 205:
 **Then we can handle the basic widget configuration of colors and so on.** **Then we can handle the basic widget configuration of colors and so on.**
  
-Ensuite, nous pouvons manipuler la configuration du widget de base et ainsi de suite.+Ensuite, nous pouvons gérer la configuration des couleurs du widget de base et ainsi de suite.
issue194/python.1688380955.txt.gz · Dernière modification : 2023/07/03 12:42 de auntiee