IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

Newbie en Python : changer la taille de police par défaut


Sujet :

Tkinter Python

  1. #1
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 584
    Points : 142
    Points
    142
    Par défaut Newbie en Python : changer la taille de police par défaut
    Bonjour-bonsoir à tous.

    Je suis (enfin ?) passé de VB6 à Python 3, et c'est pas de la tarte...!

    Présentement, je cherche à changer la taille de police par défaut dans une IHM sous tkinter, et je n'y arrive pas. J'ai trouvé quelques idées grâce à mon ami Google, mais c'était pour Python 2 (si j'ai bien compris pourquoi ça ne marchait pas pour moi...) J'ai aussi parcouru une année de posts sur ce forum, mais je n'ai rien trouvé. J'espère que ce n'est pas par ce que je ne poste pas au bon endroit.

    Pour préciser ma demande, j'ajoute que j'ai bien compris que je pourrais préciser la taille de police dans chaque widget, mais c'est justement ce que je voudrais éviter.

    Merci de votre aide.

  2. #2
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Salut.

    Je ne vois pas trop à quoi cela servirait de vouloir la même taille de police dans toute une application, généralement on utilise plusieurs styles différents de polices.

    Tu peux agir en spécifiant cela sur la fenêtre root de l'application en utilisant la méthode .option_add.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> import tkinter as tk
    >>> root = tk.Tk()
    >>> root.option_add('*font', ('', 45), priority=40) 
    >>> label = tk.Label(root, text='plop')
    >>> label.grid()
    De là, tous les widgets auront par défaut cette taille, note que ça ne fonctionnera pas pour les items canvas text.
    Le temps ronge l'amour comme l'acide.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Salut,

    Citation Envoyé par L'AMI Yves Voir le message
    Pour préciser ma demande, j'ajoute que j'ai bien compris que je pourrais préciser la taille de police dans chaque widget, mais c'est justement ce que je voudrais éviter.
    Je ne comprend pas trop ce que vous cherchez à faire mais l'extension ttk permet d'associer un Style aux différents widgets et si vous modifiez le Style, tous les widgets correspondants seront aussi modifiés.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 584
    Points : 142
    Points
    142
    Par défaut
    Merci à Bistouille, je vais essayer. Accessoirement, je me réserve le droit de décider comment je gère les polices sur mon appli.

    @Wiztricks : merci aussi d'avoir répondu. Même remarque pour les polices, mais en plus, je ne vois pas comment utiliser cette réponse : je n'ai jamais rencontré l'extension ttk, et j'ai expliqué (enfin, je crois) que je désirais modifier une fois pour toute la taille des polices dans les widgets, pour m'épargner d'avoir à le faire dans chaque widget. Si je ne m'en sors pas avec la réponse de Bistouille, je chercherai de la doc sur l'extension ttk.

    AMIcalement.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Salut,

    Citation Envoyé par L'AMI Yves Voir le message
    je n'ai jamais rencontré l'extension ttk, et j'ai expliqué (enfin, je crois) que je désirais modifier une fois pour toute la taille des polices dans les widgets, pour m'épargner d'avoir à le faire dans chaque widget.
    Pour cela il suffit de récupérer la font utilisée par défaut TkDefaultFont (pas tous les widgets utilisent celle là) et de la modifier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import tkinter as tk
    from tkinter.font import nametofont
     
    root = tk.Tk()
     
    tk.Label(text='1234').pack()
     
    def on_click():
        default_font = nametofont("TkDefaultFont")
        default_font.configure(size=48)
     
    tk.Button(text='click', command=on_click).pack()
    tk.mainloop()
    Le code montre que les widgets déjà créés sont aussi modifiés mais l'important sont les "import" et les instructions dans le callback on_click.
    Faites gaffe à la suggestion de Bistouille: çà change toutes les applications tkinter (et pas seulement celle que vous voulez écrire)

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Changer la taille des polices Xlabel, Ylabel
    Par bendesarts dans le forum MATLAB
    Réponses: 1
    Dernier message: 02/11/2014, 01h25
  2. [TinyMCE] Changer taille de la police par défaut
    Par __Nianiok_43___ dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 27/05/2014, 11h22
  3. [XL-2003] impossible de changer la taille de police d'un graph
    Par _developpeur_ dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/03/2012, 19h29
  4. Taille de police par défaut
    Par black is beautiful dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 22/07/2009, 13h13
  5. Changer la taille de police dans un tableau
    Par Steinz dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 31/05/2008, 13h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo