{"id":5819,"date":"2024-08-29T06:59:59","date_gmt":"2024-08-29T06:59:59","guid":{"rendered":"https:\/\/wikiform.fr\/codespace\/modifier-police-et-taille-des-widgets-tkinter\/"},"modified":"2024-08-29T07:00:04","modified_gmt":"2024-08-29T07:00:04","slug":"modifier-police-et-taille-des-widgets-tkinter","status":"publish","type":"post","link":"https:\/\/wikiform.fr\/codespace\/modifier-police-et-taille-des-widgets-tkinter\/","title":{"rendered":"6.14 Modifier Police et Taille des Widgets Tkinter"},"content":{"rendered":"\u00ab\u00a0`html\n\n<p><strong>Modifier la Police et la Taille des Widgets Tkinter<\/strong> est une \u00e9tape essentielle pour am\u00e9liorer l\u2019apparence visuelle de votre application GUI en Python. Dans ce tutoriel, nous allons explorer les diff\u00e9rentes mani\u00e8res de customiser les polices et tailles des widgets Tkinter. Gr\u00e2ce \u00e0 des exemples concrets, vous serez en mesure de cr\u00e9er des interfaces utilisateur attrayantes et faciles \u00e0 utiliser.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction \u00e0 la Modification de la Police et de la Taille des Widgets Tkinter<\/h2>\n\n\n\n<div id=\"videoContainer\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;\">\n  <iframe src=\"https:\/\/player.vimeo.com\/video\/583386805?dnt=1&#038;fullscreen=0&#038;pip=0\" loading=\"lazy\" loading=\"lazy\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" frameborder=\"0\" allow=\"autoplay\" allowfullscreen id=\"vimeoPlayer\"><\/iframe>\n  \n  <!-- Popup Desktop -->\n  <div id=\"popupContainer\" class=\"desktop-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 400px; padding: 20px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <h2 style=\"color: #333; font-size: 1.5em; margin: 10px 0;\" id=\"profitez-de-loffre-spciale-\">Profitez de l\u2019offre sp\u00e9ciale !<\/h2>\n    <p style=\"color: #e74c3c; font-size: 1.2em; margin: 10px 0;\">Obtenez notre cours pour seulement <strong id=\"price\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: block; padding: 10px 20px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 1em; margin: 20px auto;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 10px 20px; font-size: 1em;\">Fermer<\/button>\n  <\/div>\n\n  <!-- Popup Mobile -->\n  <div id=\"popupContainerMobile\" class=\"mobile-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 300px; padding: 15px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <p style=\"color: #e74c3c; font-size: 1em; margin: 5px 0;\">Cours sp\u00e9cial \u00e0 <strong id=\"priceMobile\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: inline-block; padding: 8px 15px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 0.9em;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 5px 10px; font-size: 0.9em;\">Fermer<\/button>\n  <\/div>\n<\/div>\n\n<script src=\"https:\/\/player.vimeo.com\/api\/player.js\"><\/script>\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    var iframe = document.getElementById('vimeoPlayer');\n    var player = new Vimeo.Player(iframe);\n    var isPopupDisplayed = false;\n\n    player.on('play', function() {\n        if (!isPopupDisplayed) {\n            player.on('timeupdate', function(data) {\n                if (data.seconds >= 120 && !isPopupDisplayed) { \/\/ 120 seconds = 2 minutes\n                    \/\/ Pause the video and display the popup\n                    player.pause().then(function() {\n                        if (window.innerWidth > 768) {\n                            document.querySelector('.desktop-popup').style.display = 'block';\n                        } else {\n                            document.querySelector('.mobile-popup').style.display = 'block';\n                        }\n                        fetchPriceAndUpdatePopup();\n                        isPopupDisplayed = true;\n                    });\n                }\n            });\n        }\n    });\n\n    function fetchPriceAndUpdatePopup() {\n        fetch('https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144')\n            .then(response => response.text())\n            .then(html => {\n                var parser = new DOMParser();\n                var fetchedDoc = parser.parseFromString(html, 'text\/html');\n                var priceElement = fetchedDoc.querySelector('.ammount .fw-500');\n                var originalPriceElement = fetchedDoc.querySelector('.ammount del');\n                var price = priceElement ? priceElement.textContent.trim() : '29.5\u20ac';\n                var originalPrice = originalPriceElement ? originalPriceElement.textContent.trim() : '59\u20ac';\n\n                document.getElementById('price').textContent = price;\n                document.getElementById('priceMobile').textContent = price;\n                document.querySelector('.desktop-popup del').textContent = originalPrice;\n                document.querySelector('.mobile-popup del').textContent = originalPrice;\n            })\n            .catch(error => console.error('Error fetching the price:', error));\n    }\n\n    function closePopup() {\n        document.querySelector('.desktop-popup').style.display = 'none';\n        document.querySelector('.mobile-popup').style.display = 'none';\n        player.play(); \/\/ Allows resuming the video only after closing the popup\n    }\n});\n<\/script>\n\n\n\n<div id=\"contentContainer\" style=\"position: relative; padding: 20px; background: #f0f0f0;\">\n  <p>Dans Tkinter, les polices et tailles peuvent \u00eatre modifi\u00e9es de mani\u00e8re pr\u00e9cise pour chaque widget individuel ou de mani\u00e8re globale au sein de votre application. Cette flexibilit\u00e9 permet d&rsquo;harmoniser le design visuel et de r\u00e9pondre aux besoins sp\u00e9cifiques de chaque \u00e9l\u00e9ment de votre interface.<\/p>\n<\/div>\n\n\n\n<p>Les propri\u00e9t\u00e9s des polices dans Tkinter peuvent \u00eatre ajust\u00e9es gr\u00e2ce \u00e0 la classe <code>font<\/code> qui fait partie du module <code>tkinter<\/code>. Voici comment vous pouvez commencer \u00e0 personnaliser les polices de vos widgets Tkinter.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser la Classe <code>Font<\/code> pour Modifier la Police et la Taille des Widgets<\/h3>\n\n\n\n<p>La classe <code>Font<\/code> dans le module <code>tkinter<\/code> est l&rsquo;outil principal pour configurer les polices dans Tkinter. Voici un exemple simple de comment l&rsquo;utiliser :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>import tkinter as tk\nfrom tkinter import font\n\nroot = tk.Tk()\n\n# D\u00e9finir une nouvelle police\ncustom_font = font.Font(family=\"Helvetica\", size=12, weight=\"bold\")\n\n# Appliquer la police au label\nlabel = tk.Label(root, text=\"Hello, Tkinter!\", font=custom_font)\nlabel.pack()\n\nroot.mainloop()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Modifier la Police des Widgets Individuels<\/h3>\n\n\n\n<p>Chaque widget peut avoir sa propre configuration de police. Voici comment vous pouvez sp\u00e9cifier diff\u00e9rentes polices pour diff\u00e9rents widgets :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>import tkinter as tk\nfrom tkinter import font\n\nroot = tk.Tk()\n\n# Polices personnalis\u00e9es\ntitle_font = font.Font(family=\"Times\", size=18, weight=\"bold\")\nbutton_font = font.Font(family=\"Arial\", size=10, slant=\"italic\")\n\n# Appliquer les polices \u00e0 diff\u00e9rents widgets\ntitle_label = tk.Label(root, text=\"Welcome to MyApp\", font=title_font)\ntitle_label.pack()\n\nsubmit_button = tk.Button(root, text=\"Submit\", font=button_font)\nsubmit_button.pack()\n\nroot.mainloop()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Application Globale des Polices par D\u00e9finition d&rsquo;un Style<\/h3>\n\n\n\n<p>Si vous souhaitez appliquer un style uniforme \u00e0 plusieurs widgets ou \u00e0 toute l\u2019application, une autre approche consiste \u00e0 utiliser la classe de style fournie par le module <code>ttk<\/code> :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>import tkinter as tk\nfrom tkinter import ttk\n\nroot = tk.Tk()\n\n# D\u00e9finir un style global\nstyle = ttk.Style()\nstyle.configure(\"TLabel\", font=(\"Helvetica\", 12))\nstyle.configure(\"TButton\", font=(\"Helvetica\", 10))\n\n# Appliquer le style\nlabel = ttk.Label(root, text=\"Styled Label\")\nlabel.pack()\n\nbutton = ttk.Button(root, text=\"Styled Button\")\nbutton.pack()\n\nroot.mainloop()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Modifier Dynamiquement la Police et la Taille des Widgets<\/h3>\n\n\n\n<p>Dans certaines applications, vous pouvez avoir besoin de modifier la police de widgets en r\u00e9ponse \u00e0 certaines actions de l&rsquo;utilisateur. Voici un exemple de comment y parvenir :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>import tkinter as tk\nfrom tkinter import font\n\nroot = tk.Tk()\n\ndef change_font():\n    new_font = font.Font(family=\"Comic Sans MS\", size=14, weight=\"bold\")\n    label.config(font=new_font)\n\n# Label initial avec une police par d\u00e9faut\nlabel = tk.Label(root, text=\"Click the Button to Change My Font!\")\nlabel.pack()\n\n# Bouton pour changer la police du label\nbutton = tk.Button(root, text=\"Change Font\", command=change_font)\nbutton.pack()\n\nroot.mainloop()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser les Polices Syst\u00e8mes R\u00e9pertori\u00e9es par Tkinter<\/h3>\n\n\n\n<p>Enfin, si vous voulez acc\u00e9der aux polices disponibles sur le syst\u00e8me, Tkinter offre une m\u00e9thode pour lister toutes les familles de polices disponibles :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code>import tkinter as tk\nfrom tkinter import font\n\nroot = tk.Tk()\n\n# Lister toutes les familles de polices disponibles\navailable_fonts = list(font.families())\nprint(\"Available fonts:\", available_fonts)\n\nroot.mainloop()<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion sur la Modification de la Police et de la Taille des Widgets Tkinter<\/h2>\n\n\n\n<p>La personnalisation des <strong>polices et tailles des widgets Tkinter<\/strong> est une comp\u00e9tence essentielle pour tout d\u00e9veloppeur d\u2019applications GUI en Python. Gr\u00e2ce aux techniques d\u00e9crites dans ce tutoriel, vous pouvez cr\u00e9er des interfaces utilisateur visuellement coh\u00e9rentes et attrayantes. Exp\u00e9rimentez avec diff\u00e9rentes polices et tailles pour voir ce qui fonctionne le mieux pour votre projet.<\/p>\n\n\n\n<p>Pour aller plus loin, explorez d&rsquo;autres sujets essentiels tels que <a href=\"https:\/\/wikiform.fr\/codespace\/installer-python-sur-mac-2024-guide-complet\" target=\"_blank\" rel=\"noopener\">l&rsquo;installation de Python sur Mac<\/a>, <a href=\"https:\/\/wikiform.fr\/codespace\/premier-programme-python-hello-world\" target=\"_blank\" rel=\"noopener\">\u00e9crire votre premier programme Python<\/a>, et <a href=\"https:\/\/wikiform.fr\/codespace\/boucle-for-en-python-guide-pratique\" target=\"_blank\" rel=\"noopener\">utiliser les boucles en Python<\/a>. Ces comp\u00e9tences compl\u00e9mentaires am\u00e9lioreront votre compr\u00e9hension globale du langage Python et de ses applications pratiques.<\/p>\n\n\n\n<a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/wikiform.fr\/codespace\/wp-content\/uploads\/2024\/07\/learnify-formation-PYTHON-offre-50.gif\" loading=\"lazy\" alt=\"Learnify Formation Python Offre 50%\" title=\"\"><\/a>\n\n\n<script src=\"https:\/\/wikiform.fr\/js\/seo.js\"><\/script>\n\u00ab\u00a0`\n\nThis structure and formatting ensure the article is comprehensive, optimized for SEO, enriched with internal and external links, and enhanced with a promotional section for the Learnify platform.","protected":false},"excerpt":{"rendered":"<p>\u00ab\u00a0`html Modifier la Police et la Taille des Widgets Tkinter est une \u00e9tape essentielle pour am\u00e9liorer l\u2019apparence visuelle de votre application GUI en Python. Dans&#8230;<\/p>\n","protected":false},"author":4,"featured_media":2941,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[24],"tags":[18],"class_list":["post-5819","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-tutoriels"],"acf":[],"_titre_de_la_formation":null,"_description_":null,"_objectifs_pedagogiques":null,"_programme_":null,"_url_de_limage":null,"_materiel_necessaire":null,"_modalites_devaluation_des_acquis":null,"_moyens_pedagogiques_et_techniques":null,"_accessibilite_":null,"_formateur_":null,"menu_order":0,"_links":{"self":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/comments?post=5819"}],"version-history":[{"count":1,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5819\/revisions"}],"predecessor-version":[{"id":5820,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5819\/revisions\/5820"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media\/2941"}],"wp:attachment":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media?parent=5819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/categories?post=5819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/tags?post=5819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}