Bonjour,

j'ai un texte qui utilise une scrollbar. Au dessus j'ai un bouton qui, lorsqu'on clique dessus efface le texte et affiche un tableau. J'aimerai qu'il fasse également apparaitre la scrollbar pour faire défiler le tableau. Pourriez-vous m'aider à résoudre mon problème svp?
Merci d'avance.


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
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
100
101
102
from tkinter import *
from tkinter import ttk
 
L = 600
H = 500
 
nbreElement = 41
 
class AutoScrollbar(Scrollbar):
    # a scrollbar that hides itself if it's not needed.  only
    # works if you use the grid geometry manager.
    def set(self, lo, hi):
        if float(lo) <= 0.0 and float(hi) >= 1.0:
            self.grid_remove()
        else:
            self.grid()
        Scrollbar.set(self, lo, hi)
    def pack(self, **kw):
        raise TclError ("cannot use pack with this widget")
    def place(self, **kw):
        raise TclError ("cannot use place with this widget") 
 
def Statistique():
 
    #frame1 = Frame(root, bd=2, borderwidth=3, relief=SUNKEN)
    yscrollbar = AutoScrollbar(frame1, orient=VERTICAL)
    yscrollbar.grid(row=0, column=2, sticky=N+S)
    text = Text(frame1, yscrollcommand=yscrollbar.set, font=48)
    text.grid(row=0, column=0, sticky='nwse') # expansion du widget Text
    yscrollbar.config(command=text.yview)
    frame1.grid_columnconfigure(0, weight=3) # expansion de la colonne
    frame1.grid_rowconfigure(0, weight=3) # expansion de la colonne  
 
    t = "X"    
    monText=frame1
    color2 = "green"
 
    fonts = {
        'normal': 'arial 9',
        'bold': 'arial 9 bold',
        }
 
    #monText.grid(row=0, column=0, sticky='nwse') # expansion du widget Text
    for i in range(nbreElement):
        monText.columnconfigure(i, weight=0)
        #monText.rowconfigure(i, weight=1)
        color = ['grey75', 'white'][i % 2]
        for j in range(3):
            label1 = Label(monText, text="Nombre de lignes contenant : "+t+ " fois l'élément" + " : ", bg=color, font=fonts['normal'])#, width=taille)#anchor='ws', int(L/nbreElement)) #,                             
            label1.grid(row=i, column=0)#, padx=1)    
 
            label2 = Label(monText, text=t, bg=color, font=fonts['normal'])#, width=taille)#anchor='ws', int(L/nbreElement)) #, 
            label2.grid(row=i, column=1)#, padx=1)
 
    #monText.columnconfigure(0, weight=0)
    #monText.columnconfigure(1, weight=1)
 
 
def create_frame(master, t):
 
    frame = Frame(master, bd=2, borderwidth=3, relief=SUNKEN)
    yscrollbar = AutoScrollbar(frame, orient=VERTICAL)
    yscrollbar.grid(row=0, column=1, sticky=N+S)
    text = Text(frame, yscrollcommand=yscrollbar.set, font=48)
    text.grid(row=0, column=0, sticky='nwse') # expansion du widget Text
    yscrollbar.config(command=text.yview)
    frame.grid_columnconfigure(0, weight=3) # expansion de la colonne
    frame.grid_rowconfigure(0, weight=3) # expansion de la colonne    
 
    t = "Hacque adfabilitate confisus cum eadem postridie feceris, ut incHacque adfabiliHacque adfabilitate confisus cum eadem postridie feceris, ut incHacque adfabilitate confisus cum eadem postridie feceris, ut incognitus haerebis et repentinus, hortatore illo hesterno clientes numerando, qui sis vel unde venias diutius ambigente agnitus vero tandem et adscitus in amicitiam si te salutandi adsiduitati dederis triennio indiscretus et per tot dierum defueris tempus, reverteris ad paria perferenda, nec ubi esses interrogatus et quo tandem miser discesseris, aetatem omnem frustra in stipite conteres summittendoHacque adfabilitate confisus cum eadem postridie feceris, ut incognitus haerebis et repentinus, hortatore illo hesterno clientes numerando, qui sis vel unde venias diutius ambigente agnitus vero tandem et adscitus in amicitiam si te salutandi adsiduitati dederis triennio indiscretus et petate confisus cum eadem postridie feceris, ut incognitus haerebis et repentinus, hortatore illo hesterno clientes numerando, qui sis vel unde venias diutius ambigente agnitus vero tandem et adscitus in amicitiam si te salutandi adsiduitati dederis triennio indiscretus et per tot dierum defueris tempus, reverteris ad paria perferenda, nec ubi esses interrogatus et quo tandem miser discesseris, aetatem omnem frustra in stipite conteres summittendoHacque adfabilitate confisus cum eadem postridie feceris, ut incognitus haerebis et repentinus, hortatore illo hesterno clientes numerando, qui sis vel unde venias diutius ambigente agnitus vero tandem et adscitus in amicitiam si te salutandi adsiduitati dederis triennio indiscretus et per tot dierum defueris tempus, reverteris ad paria perferenda, nec ubi esses interrogatus et quo tandem miser discesseris, aetatem omnem frustra in stipite conteres summittendoHacque adfabilitate confisus cum eadem postridie feceris, ut incognitus haerebis et repentinus, hortatore illo hesterno clientes numerando, qui sis vel unde venias diutius ambigente agnitus vero tandem et adscitus in amicitiam si te salutandi adsiduitati dederis triennio indiscretus et per tot dierum defueris tempus, reverteris ad paria perferenda, nec ubi esses interrogatus et quo tandem miser discesseris, aetatem omnem frustra in stipite conteres summittendoHacque adfabilitate confisus cum eadem postridie feceris, ut incognitus haerebis et repentinus, hortatore illo hesterno clientes numerando, qui sis vel unde venias diutius ambigente agnitus vero tandem et adscitus in amicitiam si te salutandi adsiduitati dederis triennio indiscretus et per tot dierum defueris tempus, reverteris ad paria perferenda, nec ubi esses interrogatus et quo tandem miser discesseris, aetatem omnem frustra in stipite conteres summittendoognitus haerebis et repentinus, hortatore illo hesterno clientes numerando, qui sis vel unde venias diutius ambigente agnitus vero tandem et adscitus in amicitiam si te salutandi adsiduitati dederis triennio indiscretus et per tot dierum defueris tempus, reverteris ad paria perferenda, nec ubi esses interrogatus et quo tandem miser discesseris, aetatem omnem frustra in stipite conteres summittendo."
 
    text.insert(0.0, t)
 
    newBtn = Button(toolbar, text="Tableau", bg="maroon", fg="white", borderwidth=3, command=Statistique)
    newBtn.pack(side=LEFT, fill=X)
 
    #root.geometry('{}x{}'.format(L, H))
    root.minsize(L, H)
 
    return frame
 
if __name__ == '__main__':
    root = Tk()
 
    myColor="lightblue"
 
    # Defines and places the notebook widget
 
    nb = ttk.Notebook(root)
    toolbar = Frame(root, borderwidth=2, relief='raised', background=myColor)
 
    frame1 = create_frame(nb,1)
    nb.add(frame1, text='Text')
 
    toolbar.pack(side=TOP, fill=X)
    nb.pack(fill=BOTH, expand=1)
 
 
    # Fin du menu deroulant #############################################  
 
    root.configure(background="green")
    root.mainloop()