Bonsoir,
je recopie un programme de Gerard Swinnen (apprendre a programmer avec python 3), page 222-224).
Lorsque je lance le script il me leve une erreur.
J ai tout essayé mais l erreur apparait.
voici le code avec l erreur leve
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from tkinter import *
from tkinter.scrolledtext import ScrolledText
 
class ScrolledText(Frame):
    """Widget composite, associant un widget Text et une barre de défilement"""
 
    def __init__(self, boss, baseFont="Times", x=50, y=25):
        Frame.__init__(self, boss, bd=2, relief=SUNKEN)
        self.texte = Text(self, font=baseFont, bg="ivory", bd=1, width=x, height=y)
        scroll = Scrollbar(bd=1, command=self.texte.yview)
        self.texte.configure(yscrollcommand=scroll.set)
        self.texte.pack(side=LEFT, expand=YES, fill=BOTH, padx=2, pady=2)
        scroll.pack(side=RIGHT, expand=NO, fill=Y, padx=2, pady=2)
 
    def importFichier(self, fichier="le_corbeau_et_le_renard.txt", encodage="utf8"):
        """insertion d un texte dans le widget, a partir d un fichier"""
        of = open(fichier, "r", encoding=encodage)
        lignes = of.readlines()
        of.close()
        for li in lignes:
            self.texte.insert(END, li)
    def chercheCible(event=None):
        """defilement du texte jusqu'a la balise cible ,grace a la methode see()"""
        index = st.tag_nextrange('cible', '0.0', END)
        st.see(index[0])
 
    #   programme principal
    master = Tk()
    lib = Label(master, text="widget composite : Text + Scrollbar", font="Times 14 bold italic", fg="navy")
    lib.pack(padx=10, pady=4)
    st = ScrolledText(master, font="Helvetica 12 normal", width=40, height=10)
    st.pack(expand=YES, fill=BOTH, padx=8, pady=8)
    #   definition des balises
    st.tag_config('titre', foreground="brown", font="Helvetica 11 bold italic")
    st.tag_config('lien', foreground="blue", font="Helvetica 11 bold italic")
    st.tag_config('cible', foreground="forest green", font="Time 11 bold")
    st.tag_bind('lien', '<Button-3>', chercheCible)
    titre = """ Le corbeau et le renard de Jean De La Fontaine auteur français\n"""
    auteur = """ Jean de la Fontaine\n
            écrivain francais (1621-1695)\n
            célébre pour ses contes en vers\n
            et surtout ses fables publiées\n
            de 1668 a 1694"""
    #   import fichier
    importFichier("le_corbeau_et_le_renard.txt", encodage="utf8")
    st.insert("0.0", titre, "titre")
    st.insert(END, auteur, "cible")
    master.mainloop()
voici le libelle de l erreur
"C:\Program Files\Python311\python.exe" "E:\PycharmProjects\le corbeau et le renard.py"
Traceback (most recent call last):
File "E:\PycharmProjects\le corbeau et le renard.py", line 4, in <module>
class ScrolledText(Frame):
File "E:\PycharmProjects\le corbeau et le renard.py", line 45, in ScrolledText
importFichier("le_corbeau_et_le_renard.txt", encodage="utf8")
File "E:\PycharmProjects\le corbeau et le renard.py", line 21, in importFichier
self.texte.insert(END, li)
^^^^^^^^^^
AttributeError: 'str' object has no attribute 'texte'

Process finished with exit code 1

hp last-top core i3
8 go ram
1 tera
je vous remercie d avance pour votre aide
passez de bonne fete de Noel et de fin d année
fichier: le_corbeau_et_le_renard.txt
le_corbeau_et_le_renard.txt