colorer les mots contenue dans un fichier dans un champ text
bonjour je voudrai savoir comment colorer les mot dans le champ texte
contenue dans un fichier
en gros on regarde ce que tape l'utilisateur ,on ouvre le fichier et on regarde si le mot taper est dans le fichier
comment faire ?
merci à ceux qui aurons la j'entillesse de me répondre
timiti29
ps j'utilise python 2.6 et Tkinter
ps² en faite je conte rajouter cette fonction à mon éditeur de texte :
Code:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| # -*- coding: iso-8859-1 -*-
#------------------------------IMPORTATION--------------------#
import Tkinter
import tkFileDialog as Selector
from Tkinter import *
#---------------------------FONTION---------------------------#
def ouvrir(ev=None):
#Selection du fichier avec filtre .txt :
file2=Selector.askopenfilename(filetypes = [("Fichiers Texte","*.txt")])
fd=open(file2, 'r')
chaine=fd.read()
texte.insert(Tkinter.END,chaine)
fichier_courant = file2
recherche()
def sauvegarder(texte):
#Fenêtre de sauvegarde
fichier=Selector.asksaveasfilename(filetypes = [("Fichiers Texte","*.txt")])
fichier = str(fichier)
fichiereverse = ""#chaine inversee
for fichier2 in reversed(fichier):
fichiereverse += fichier2
extentionreverse = fichiereverse[:4]
extention=""
for extention2 in reversed(extentionreverse):
extention += extention2
if extention != ".txt":
fichier= fichier + ".txt"
fd2=open(fichier, 'w')
texte2=texte
fd2.write(texte2)
fd2.close()
def ascenseur():
scrollbar = Tkinter.Scrollbar(racine)
scrollbar.pack(side=Tkinter.RIGHT, fill=Tkinter.BOTH)
def quitter(ev=None):
racine.destroy()
def a_propos(ev=None):
propos=Tkinter.Toplevel()
propos.geometry("220x150")
propos.grab_set()
propos.focus_set()
#Mise en place du titre:
propos.title("A propos de Editim")
#Mise de l'icone en haut a gauche de la fenetre :
propos.iconbitmap("Editim.ico")
zoneTexte=Tkinter.Label(propos, text="Version du 4 avril 2009\n\nPar Timothe Pennec en Python 2.4\n\nLogiciel crée pour Windows XP\n\nderniere mise a jpour le 08/05/09\n")
zoneTexte.pack()
bouton = Tkinter.Button(propos, text="OK", command=propos.destroy).pack()
#-----------------------------FENETRE-------------------------------#
racine=Tkinter.Tk()
fichier_courant = "nouveau fichier"
#Mise en place du titre:
racine.title("Editim v1.0")
#Mise de l'icone en haut a gauche de la fenetre :
racine.iconbitmap("Editim.ico")
#-----------------------------MENU---------------------------------#
#menu Fichier :
# Creation du systeme de menu (variable explicite sysdemenu):
sysdemenu = Tkinter.Menu(racine)
# Creation du menu Fichier :
Fichier = Tkinter.Menu(sysdemenu, tearoff=0)
#Partie Fichier :
sysdemenu.add_cascade(label="Fichier", menu=Fichier)
#Sous partie :
Fichier.add_command(label="Ouvrir Ctrl + o", command=ouvrir)
Fichier.add_separator()#Separateur (bar de separation grise)
Fichier.add_command(label="Sauvegarder Ctrl + s", command=lambda: sauvegarder(texte.get(0., Tkinter.END)))
Fichier.add_separator()#Separateur (bar de separation grise)
Fichier.add_command(label="Quitter Ctrl + q", command=quitter)
# Creation du menu ? :
intero = Tkinter.Menu(sysdemenu, tearoff=0)
#Partie Fichier :
sysdemenu.add_cascade(label="?", menu=intero)
#Sous partie :
intero.add_command(label="A propos de Editim F1", command=a_propos)
#-----------------------------Racourci clavier-----------------------#
Fichier.bind_all('<Control-o>', ouvrir) #Ctrl + o pour l'ancer l'ouverture du fichier
Fichier.bind_all('<Control-s>', sauvegarder)#Ctrl + s pour enregistrer
Fichier.bind_all('<Control-q>', quitter) #Ctrl + q pour quitter
intero.bind_all('<F1>', a_propos) #F1 l'ancer la fenêtre a_propos
#-----------------------------------------------------------------------#
#On met en place l'ascenseur :
ascenseur()
#Prevoit une place pour l'affichage des textes :
texte=Tkinter.Text(racine)
texte.pack(side=Tkinter.TOP, expand=True,fill=Tkinter.BOTH)
#Insertion du menu
racine.config(menu=sysdemenu)
if __name__ == "__main__":
racine.mainloop() |