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 :

police de texte sur tkinter


Sujet :

Tkinter Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2018
    Messages : 21
    Points : 36
    Points
    36
    Par défaut police de texte sur tkinter
    Bonjour à tous,

    J'ai besoin de votre aide après de longues journées de recherches. Voici mon problème :

    Je fais un petit éditeur de texte assez simple et j'en suis à faire un bouton permettant de changer la police d'écriture.
    Pour cela, j'ai fait un MenuBouton associé à plein de boutons (chaque bouton designe une police).
    La commande de chaque "sous-bouton" change le family d'une variable = Font, puis à la fin je config le "font" mon texte mais je n'obtiens rien.
    J'ai toujours la même police d'écriture.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    font_actual= Font(family="Arial", size=size_actual)
     
    fonts_list = Menubutton(frame, text="Font", relief=RAISED)
    fonts = Menu(fonts_list)
    fonts_list.config(menu=fonts)
    fonts.add_command(label="Arial", command=font_actual.config(family="Arial"))
    fonts.add_command(label="Calibri", command=font_actual.config(family="Calibri"))
    fonts.add_command(label="Cambria", command=font_actual.config(family="Cambria"))
    #fonts.add_command(label="Candara", command=(texte.configure(font="Candara")))
    fonts.add_command(label="Consolas", command=font_actual.config(family="Consolas"))
    #fonts.add_command(label="Constantia", command=(texte.configure(font="Constantia")))
    #fonts.add_command(label="Corbel", command=(texte.configure(font="Corbel")))
    #fonts.add_command(label="Courier New", command=(texte.configure(font="Courier")))
    #fonts.add_command(label="Modern", command=(texte.configure(font="Modern")))
    #fonts.add_command(label="Ebrima", command=(texte.config(font="Ebrima")))
    #fonts.add_command(label="Impact", command=(texte.configure(font="Impact")))
    #fonts.add_command(label="Georgia", command=(texte.configure(font="Georgia")))
    #fonts.add_command(label="Terminal", command=(texte.configure(font="Terminal")))
    #fonts.add_command(label="Verdana", command=(texte.configure(font="Verdana")))
    fonts_list.pack(side=LEFT)
     
    scrollbar = Scrollbar(fenetre)
    texte = Text(fenetre)
    texte.pack(side=LEFT, fill=Y)
    scrollbar.pack(side=RIGHT, fill= Y)
    scrollbar.config(command=texte.yview)
    texte.config(yscrollcommand=scrollbar.set, font=font_actual)
    Bonne journée

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    18 876
    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 : 18 876
    Points : 32 581
    Points
    32 581
    Par défaut
    Salut,

    Citation Envoyé par Manah3 Voir le message
    J'ai toujours la même police d'écriture.

    command=font_actual.config(family="Arial") exécute l'appel de la méthode et assigne son retour à command. A la fin, ce sera le dernier font_actual.config qui sera pris en compte.

    Une solution est de créer une fonction anonyme avec lambda i.e. command=lambda: font_actual.config(...).

    Et vous voyez que çà n'a rien à voir avec le changement de police.


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

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2018
    Messages : 21
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,




    command=font_actual.config(family="Arial") exécute l'appel de la méthode et assigne son retour à command. A la fin, ce sera le dernier font_actual.config qui sera pris en compte.

    Une solution est de créer une fonction anonyme avec lambda i.e. command=lambda: font_actual.config(...).

    Et vous voyez que çà n'a rien à voir avec le changement de police.


    - W
    Merci de ta réponse mais à quoi sert la fonction lambda ?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    18 876
    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 : 18 876
    Points : 32 581
    Points
    32 581
    Par défaut
    Citation Envoyé par Manah3 Voir le message
    Merci de ta réponse mais à quoi sert la fonction lambda ?
    A créer une fonction anonyme....
    Pour le reste, ayez la curiosité de chercher un peu sur Internet ce qu'on peut faire avec.

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

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2018
    Messages : 21
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    A créer une fonction anonyme....
    Pour le reste, ayez la curiosité de chercher un peu sur Internet ce qu'on peut faire avec.

    - W
    Déjà fait, merci encore pour l'aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utiliser une police non installé sur tkinter
    Par mattdo66 dans le forum Général Python
    Réponses: 2
    Dernier message: 16/02/2019, 15h27
  2. Réponses: 1
    Dernier message: 26/12/2014, 15h33
  3. Problème texte/image sur Tkinter
    Par Dobbraga dans le forum Général Python
    Réponses: 2
    Dernier message: 15/05/2014, 12h56
  4. [Traitement d'image] Police et effet sur du texte
    Par laptiote dans le forum Webdesign & Ergonomie
    Réponses: 2
    Dernier message: 05/07/2007, 12h04
  5. Réponses: 10
    Dernier message: 22/11/2006, 15h17

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