Bonjour à tous,
je cherche à faire un label qui contient une phrase dont les mots ne sont pas forcément de la même couleur. Est-ce possible ? Si non, y'a-t'il une façon pour le faire ?
Merci pour votre aide
Bonjour à tous,
je cherche à faire un label qui contient une phrase dont les mots ne sont pas forcément de la même couleur. Est-ce possible ? Si non, y'a-t'il une façon pour le faire ?
Merci pour votre aide
Bonjour,
je pense qu'on peut faire quelque chose de ce genre
Jluc
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 # -*- coding: cp1252 -*- from Tkinter import * root=Tk() can=Canvas(root) can.pack() textecouleur=(("bonjour","red"),("comment","green"),("ca","cyan"),("va","black")) for tc in textecouleur: Label(can,text=tc[0],fg=tc[1]).pack(side=LEFT) root.mainloop()
Ca marche parfaitement
mais ça ne marche que pour un cas fixe.
Le problème c'est que je dois écrire dans une zone avec retour à la ligne si ca atteint un des bords et surtout il faut que je puisse détruire ces labels ou au mieux les modifier car le texte que je mets dedans, change souvent.
exemple :
début du programme : "comment ça va"
après : "ça a l'air d'aller bien"
après : "blabla bla blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
blaaaaaaaaaa blaaaaaaaaaaa"
bref, ça ne me semble pas possible avec une suite de label
on peut toujours compliquer, tout est possible.
Voir par exemple "Apprendre à programmer avec Python"
de Gérard Swinnen comme je suis en train de le faire.
http://www4.fnac.com/Shelf/Article.aspx?PRID=1621826
Pour info, c'est tout à fait possible avec un le composant Text et sa fonction tag.
On écrit dans le champ text :
On créé 2 tag :
Code : Sélectionner tout - Visualiser dans une fenêtre à part self.text.insert(END,'test de code python')
On définit une fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 self.text.tag_config('vert',foreground='Green') self.text.tag_config('bleu',foreground='Blue')
On appelle cette fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 def colore(mot,couleur): start = 0.0 while 1: try: i = self.text.search(mot,start,END) j = self.text.index('%s+%dc'%(i,len(mot))) self.text.tag_add(couleur,i,j) start = j except: break
et le tour est joué
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 colore('code','vert') colore('python','bleu')
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager