Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes |
teaching:progappchim:tkinter_gui_simple [2017/03/07 12:05] – [Utiliser des cases à cocher (checkbuttons)] villersd | teaching:progappchim:tkinter_gui_simple [2021/03/09 09:05] – villersd |
---|
| |
<note warning>Entre Python 2 et Python 3, le nom de la librairie "Tkinter" est passé à tkinter ! (première lettre en bas de casse). L'utilisation sous Python 3 des exemples ci-dessous nécessite aussi de transformer les instructions print en print().</note> | <note warning>Entre Python 2 et Python 3, le nom de la librairie "Tkinter" est passé à tkinter ! (première lettre en bas de casse). L'utilisation sous Python 3 des exemples ci-dessous nécessite aussi de transformer les instructions print en print().</note> |
| |
| <note warning>Certaines fonctionnalités de tkinter semblent poser parfois des problèmes dans l'environnement Anaconda + Spyder. |
| |
| Vérifier le comportement en utilisant Idle et la version de base de Python ! |
| </note> |
| |
===== Une étiquette (Label) affichant "Bonjour !" ===== | ===== Une étiquette (Label) affichant "Bonjour !" ===== |
| |
===== Insérer une image (photoimage) ===== | ===== Insérer une image (photoimage) ===== |
FIXME (à écrire) | |
| <note tip>Avec Spyder, sous Anaconda, l'affichage peut provoquer une erreur "TclError: image doesn't exist ". Cf. [[https://stackoverflow.com/questions/54243761/tkinter-tclerror-image-pyimage-doesnt-exist]] |
| |
| Solution : choisir dans les préférences de spyder la partie "Console IPython" et l'onglet "Graphiques". Désactiver la "Prise en charge des graphes (Matplotlib)". Redémarrer le noyau. Ne pas oublier de remettre ensuite les réglages d'origine. |
| |
| Autre solution : menu "exécution", sous-menu "profiler" → explications ?? |
| </note> |
| |
| Télécharger l'image exemple au format png dans le même répertoire que le programme python |
| <code python image_import-01.py> |
| #!/usr/bin/env python |
| # -*- coding: utf-8 -*- |
| """ |
| insert a PNG image into a python tkinter window |
| image png : https://upload.wikimedia.org/wikipedia/commons/c/c0/Wikipedia-sipi-image-db-mandrill-4.2.03-quantize-only-CCC.png |
| cf. https://commons.wikimedia.org/wiki/File:Wikipedia-sipi-image-db-mandrill-4.2.03-quantize-only-CCC.png |
| """ |
| |
| import tkinter as tk |
| |
| root = tk.Tk() |
| img = tk.PhotoImage(file = "mandrill.png") |
| label = tk.Label(root, image = img) |
| #label.pack() |
| label.grid() |
| root.mainloop() |
| </code> |
| |
| * Image utilisée historiquement fréquemment en traitement d'images : [[https://en.wikipedia.org/wiki/Lenna]] |
| * [[https://campaignbrief.com/creatable-code-like-a-girl-partner-with-clemenger-sydney-finch-kamber-and-facebook-to-launch-losing-lena-removing-one-image-to-make-millions-of-women-feel-welcome-in-tech/|Campagne de modification de cet usage]] + [[https://www.losinglena.com/]] |
| * Base d'images pour test : [[http://sipi.usc.edu/database/]] - exemple : |
| * [[http://sipi.usc.edu/database/database.php?volume=misc&image=10#top]] |
| * [[https://commons.wikimedia.org/wiki/File:Wikipedia-sipi-image-db-mandrill-4.2.03-quantize-only-CCC.png]] |
| |
| {{ https://upload.wikimedia.org/wikipedia/commons/c/c0/Wikipedia-sipi-image-db-mandrill-4.2.03-quantize-only-CCC.png?256x256 }} |
| |
===== Autres composants logiciels (widgets) de Tkinter ===== | ===== Autres composants logiciels (widgets) de Tkinter ===== |