Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue179:python [2022/03/30 08:22] – d52fr | issue179:python [2022/03/30 17:43] (Version actuelle) – andre_domenech |
---|
Ces distinctions sont attribuées uniquement à des projets sélectionnés qui ont atteint des étapes importantes en termes de téléchargements et d'engagement des utilisateurs de la communauté SourceForge. | Ces distinctions sont attribuées uniquement à des projets sélectionnés qui ont atteint des étapes importantes en termes de téléchargements et d'engagement des utilisateurs de la communauté SourceForge. |
| |
C'est une grande réussite, car votre projet s'est qualifié pour ces prix parmi plus de 500 000 projets open source sur SourceForge. SourceForge compte près de 30 millions d'utilisateurs par mois qui recherchent et développent des logiciels libres. Ces badges de récompense apparaîtront désormais sur la page de votre projet, et les actifs de récompense peuvent être trouvés dans la section d'administration de votre projet. » | C'est une grande réussite, car votre projet s'est qualifié pour ces prix parmi plus de 500 000 projets Open Source sur SourceForge. SourceForge compte près de 30 millions d'utilisateurs par mois qui recherchent et développent des logiciels libres. Ces badges de récompense apparaîtront désormais sur la page de votre projet, et les actifs de récompense peuvent être trouvés dans la section d'administration de votre projet. » |
| |
| |
I chose the small .png version, downloaded it and then used Gimp to cut each one out and saved them as separate .png files. I copied them into an images folder inside my project.** | I chose the small .png version, downloaded it and then used Gimp to cut each one out and saved them as separate .png files. I copied them into an images folder inside my project.** |
| |
Pour célébrer cette récompense, j'ai décidé de partager certains des trucs et astuces que j'ai appris sur l'utilisation de Tkinter pour créer des interfaces graphiques pour les programmes Python en utilisant PAGE. Ce qui est bien avec ces astuces, c'est qu'elles ne nécessitent aucun codage spécial. Tout se fait en définissant les attributs appropriés. | Pour fêter cette récompense, j'ai décidé de partager certains des trucs et astuces que j'ai appris sur l'utilisation de Tkinter pour créer des interfaces graphiques pour les programmes Python en utilisant PAGE. Ce qui est bien avec ces astuces, c'est qu'elles ne nécessitent aucun codage spécial. Tout se fait en définissant les attributs appropriés. |
| |
La première astuce concerne l'amélioration du bouton de contrôle Tk. Nous savons tous à quoi ressemble une case à cocher « normale ». | La première astuce concerne l'amélioration du bouton de contrôle Tk, le Tk Checkbutton. Nous savons tous à quoi ressemble une case à cocher « normale ». |
| |
Bien qu'il s'agisse d'un widget facile à utiliser pour représenter un ensemble d'options multiples, il s'agit plutôt d'un widget visuel de style ancien. Mais qu'en est-il de ceci ? | Bien qu'il s'agisse d'un widget facile à utiliser pour représenter un ensemble d'options multiples, il s'agit plutôt d'un widget visuel de style ancien. Mais qu'en est-il de ceci ? |
Voici l'image d'un bouton à cocher personnalisé à l'état désactivé, et voici le même bouton à cocher à l'état activé. | Voici l'image d'un bouton à cocher personnalisé à l'état désactivé, et voici le même bouton à cocher à l'état activé. |
| |
Il est très facile de créer un bouton de contrôle qui ressemble et fonctionne comme ceci en utilisant Tkinter et spécialement dans PAGE. D'abord, vous devez avoir les deux images graphiques que vous voulez utiliser pour représenter les états sélectionné et non sélectionné. Je suis allé sur mon site habituel pour les graphiques, openclipart.org. J'ai fait une recherche simple pour « switch » (interrupteur) et ceci était une des possibilités. | Il est très facile de créer un bouton de contrôle qui ressemble et fonctionne comme celui-ci en utilisant Tkinter, surtout dans PAGE. D'abord, vous devez avoir les deux images graphiques que vous voulez utiliser pour représenter les états sélectionné et non sélectionné. Je suis allé sur mon site habituel pour les graphiques, openclipart.org. J'ai fait une recherche simple pour « switch » (interrupteur) et ceci était l'une des possibilités. |
| |
https://openclipart.org/detail/203164/ui-toggle-button | https://openclipart.org/detail/203164/ui-toggle-button |
So here is what the full demo project looks like (next page, top right).** | So here is what the full demo project looks like (next page, top right).** |
| |
Comme je l'ai dit à plusieurs reprises dans le passé, je ne suis pas un artiste, de quelque manière que ce soit. J'ai rassemblé les images suivantes pour aider à montrer le processus. | Comme je l'ai dit à plusieurs reprises dans le passé, je ne suis pas un artiste de quelque manière que ce soit. J'ai rassemblé les images suivantes pour aider à montrer le processus. |
| |
D'abord l'image non sélectionnée. C'est simplement un cercle. | D'abord l'image non sélectionnée. C'est un simple cercle. |
| |
Et l'image sélectionnée, qui est le cercle ci-dessus avec un point noir au milieu. | Et l'image sélectionnée, qui est le cercle ci-dessus avec un point noir au milieu. |
_w1.RadioDisplay.set(f'Special Rb {which2} Selected')** | _w1.RadioDisplay.set(f'Special Rb {which2} Selected')** |
| |
Le rappel des boutons de contrôle est très simple. La première chose qui est faite est de créer une liste très simple avec les valeurs de texte 'Off' et 'On' qui seront affichées dans le cadre d'une chaîne qui sera envoyée à l'étiquette d'affichage. Ensuite, chacune des variables des boutons de contrôle affiche 0 pour non sélectionné et 1 pour sélectionné. Ces valeurs fonctionnent bien comme un « pointeur » dans la liste pour la chaîne d'affichage. Enfin, nous créons la chaîne et l'envoyons à l'étiquette pour qu'elle soit affichée. | Le rappel des boutons de contrôle est vraiment simple. La première chose qui est faite est de créer une liste très simple avec les valeurs de texte « Off » et « On » qui seront affichées dans le cadre d'une chaîne qui sera envoyée à l'étiquette d'affichage. Ensuite, chacune des variables des boutons de contrôle affiche 0 pour non sélectionné et 1 pour sélectionné. Ces valeurs fonctionnent bien comme un « pointeur » dans la liste pour la chaîne d'affichage. Enfin, nous créons la chaîne et l'envoyons à l'étiquette pour qu'elle soit affichée. |
| |
Les deux rappels suivants s'appliquent lorsque les groupes de boutons radios sont cliqués. Les deux premiers boutons radios du formulaire sont gérés par la fonction du haut et les deux boutons radios personnalisés du bas sont gérés par la deuxième fonction. | Les deux rappels suivants s'appliquent lorsque les groupes de boutons radios sont cliqués. Les deux premiers boutons radios du formulaire sont gérés par la fonction du haut et les deux boutons radios personnalisés du bas sont gérés par la deuxième fonction. |
C'est tout ce que j'ai le temps de faire ce mois-ci. Rappelez-vous que ces conseils concernent les widgets Tk « standard ». Oui, il existe les widgets ttk auxquels on peut appliquer des styles et des thèmes. Le problème avec les styles et les thèmes est que : | C'est tout ce que j'ai le temps de faire ce mois-ci. Rappelez-vous que ces conseils concernent les widgets Tk « standard ». Oui, il existe les widgets ttk auxquels on peut appliquer des styles et des thèmes. Le problème avec les styles et les thèmes est que : |
| |
- Les styles et les thèmes sont mal documentés | - Les styles et les thèmes sont mal documentés. |
- Les styles et les thèmes nécessitent une programmation spéciale en Tcl/Tk. | - Les styles et les thèmes nécessitent une programmation spéciale en Tcl/Tk. |
- Une grande partie de la documentation sur les styles et les thèmes est incomplète. | - Une grande partie de la documentation sur les styles et les thèmes est incomplète. |
La source PAGE (version 7.3) et le code Python sont tous disponibles sur mon dépôt. Vous pouvez le trouver à https://github.com/gregwa1953/FCM-179 . | La source PAGE (version 7.3) et le code Python sont tous disponibles sur mon dépôt. Vous pouvez le trouver à https://github.com/gregwa1953/FCM-179 . |
| |
Jusqu'à la prochaine fois, comme toujours ; restez en sécurité, en bonne santé, positif et créatif ! | Jusqu'à la prochaine fois, comme toujours, restez en sécurité, en bonne santé, positif et créatif ! |
| |