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

Python Discussion :

modifier le widget text tkinter


Sujet :

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 : 23
    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 modifier le widget text tkinter
    Bonjour à tous,
    je m'amuse à faire un éditeur de texte mais problème, j'aimerais changer la couleur du texte mais pas tout le texte.
    du coup j'ai récupéré la position du curseur puis j'ai ajouté un tag de mon curseur jusqu'à la fin du texte et je configure ce tag de la couleur que je souhaite mais cela ne marche pas et mes recherches étaient sur du texte déjà présent dans le widget text.

    voici mes fonctions :
    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
    def color_blue():
        position_cursor = texte.index(INSERT)
        texte.tag_add("start", position_cursor)
        texte.tag_config("start", foreground="blue")
        #texte.config(foreground="blue")
        font_color.config(foreground="blue")
     
    def color_red():
        position_cursor = texte.index(INSERT)
        texte.tag_add("start", position_cursor)
        texte.tag_config("start", foreground="red")
        #texte.config(foreground="red")
        font_color.config(foreground="red")
     
    def color_green():
        position_cursor = texte.index(INSERT)
        texte.tag_add("start", position_cursor)
        texte.tag_config("start", foreground="green")
        #texte.config(foreground="green")
        font_color.config(foreground="green")
     
    def color_black():
        position_cursor = texte.index(INSERT)
        texte.tag_add("start", position_cursor)
        texte.tag_config("start", foreground="black")
        #texte.config(foreground="black")
        font_color.config(foreground="black")
    En fait mes fonctions modifient aussi la couleur du text présent dans le bouton pour savoir la couleur sélectionnée.

    Et voici mes boutons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    font_color = Menubutton(frame, text="color", relief=FLAT)
    fonts_list_color = Menu(font_color)
    font_color.config(menu=fonts_list_color)
    fonts_list_color.add_command(label="bleu", foreground="blue", command= color_blue)
    fonts_list_color.add_command(label="rouge", foreground="red", command= color_red)
    fonts_list_color.add_command(label="vert", foreground="green", command= color_green)
    fonts_list_color.add_command(label="noir", foreground="black", command= color_black)
    font_color.pack(side=LEFT)
    Pouvez-vous m'aider ?
    merci !

  2. #2
    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 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par Manah3 Voir le message
    du coup j'ai récupéré la position du curseur puis j'ai ajouté un tag de mon curseur jusqu'à la fin du texte et je configure ce tag de la couleur que je souhaite mais cela ne marche pas
    texte.index(INSERT) récupère effectivement une position (pas du curseur).
    Mais texte.tag_add("start", position_cursor) ajoute un tag à cette position mais pour aller jusqu'à la fin du texte, il faudrait donner l'index de la fin du texte.
    Si vous ne le faites pas, ben, çà ne marche pas...

    - 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 : 23
    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,



    texte.index(INSERT) récupère effectivement une position (pas du curseur).
    Mais texte.tag_add("start", position_cursor) ajoute un tag à cette position mais pour aller jusqu'à la fin du texte, il faudrait donner l'index de la fin du texte.
    Si vous ne le faites pas, ben, çà ne marche pas...

    - W
    J'avais déjà essayé avec le 'END' au
    texte.tag_add('start', position_cursor, END)
    Mais j'ai exactement le même résultat, rien.

  4. #4
    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 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par Manah3 Voir le message
    J'avais déjà essayé avec le 'END' au
    Mais j'ai exactement le même résultat, rien.
    Au lieu de poster un code incomplet qui n'a aucune chance de fonctionner, essayez de faire un petit exemple:
    • creation du widget Text,
    • insertion de 10 caractère,
    • association d'un tag qui va du 5ème caractère à la fin,
    • creation d'un bouton qui changera la couleur du texte associé au tag.

    note: si on ne peut pas reproduire ce que vous constatez, c'est qu'il faut montrez comment vous vous y prenez et pour çà reproduire, constater,...

    - 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 : 23
    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,



    Au lieu de poster un code incomplet qui n'a aucune chance de fonctionner, essayez de faire un petit exemple:
    • creation du widget Text,
    • insertion de 10 caractère,
    • association d'un tag qui va du 5ème caractère à la fin,
    • creation d'un bouton qui changera la couleur du texte associé au tag.

    note: si on ne peut pas reproduire ce que vous constatez, c'est qu'il faut montrez comment vous vous y prenez et pour çà reproduire, constater,...

    - W
    J'ai pu changer la couleur du texte de tel caractère à la fin grâce à un bouton
    Merci pour cette exercice mais j'aimerais avoir de l'aide pour "trouver" le moyen de changer la couleur à partir du dernier caractère jusqu'à ce que il décide de rechanger de couleur

  6. #6
    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 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par Manah3 Voir le message
    Merci pour cette exercice mais j'aimerais avoir de l'aide pour "trouver" le moyen de changer la couleur à partir du dernier caractère jusqu'à ce que il décide de rechanger de couleur
    Si vous ne montrez pas ce que vous avez cherchez à faire pour réaliser çà, pas sûr qu'on comprenne le besoin que vous exprimez de façon aussi imprécise.

    Reste à attendre que quelqu'un sachant lire vos pensées vous donne des idées de solution.

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

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

Discussions similaires

  1. [Python 3.X] Récupération de données Sqlite3 et print dans un widget text Tkinter
    Par lagratteCchouette dans le forum Général Python
    Réponses: 19
    Dernier message: 27/10/2019, 11h09
  2. [Python 3.X] Changer la couleur d'un caractère dans un widget Text (tkinter)
    Par Michel Voisin dans le forum Général Python
    Réponses: 6
    Dernier message: 04/11/2017, 12h00
  3. Question de TkInter / Widget text.mark_set
    Par Captain'Flam dans le forum Général Python
    Réponses: 7
    Dernier message: 29/04/2014, 13h57
  4. [tkinter] widget text et scrollbar
    Par jojolapine dans le forum Tkinter
    Réponses: 3
    Dernier message: 29/04/2006, 15h58
  5. [Tkinter] widget Text
    Par t_om84 dans le forum Tkinter
    Réponses: 8
    Dernier message: 17/06/2005, 09h30

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