bonjours,
j' ai quelque problème a mettre en place une Strollbar dans une Canvas principal qui réceptionne d'autres widget frame label botton avec des résultats de recherche
l'exemple ci dessous pour vous montrez un peut le genre de routine du programme que j'utilise (le botton n'a pas de commande ses normal, ici faut juste regarde
la strollbar qui dans le Canvas quand ont l'utilise de haut en bas, les affichages des Label et les textes disparaisses, ou sont pas stables , comment pourrai faire pour avoir un affichage stable ?
de plus vous remarquerez que les textes sont centrer malgré le sticky="w" la aussi je trouve pas pour les mètres a gauche des libellés ?

il faudrai trouver le moyen de mètre dans un Canvas ou une frame ect.. peut importe le widget une Strollbar verticale et dans ce widget je pourrai y mettre d'autres widgets sans problème et sans pertes
de texte autres, est ce que ses possible ?

Exemple de code qui montre les difficulté rencontré

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 *
 
def fenetre_principale():
    try:
        global test_win
        test_win = Tk()
        scren_widht = test_win.winfo_screenwidth()
        scren_height = test_win.winfo_screenheight()
        widht_wim = 900
        height_win = 600
        x_coord = (scren_widht / 2) - (widht_wim / 2)
        y_coord = (scren_height / 2) - (height_win / 2)
        test_win.geometry(("%dx%d+%d+%d") % (widht_wim, height_win, x_coord, y_coord))
        test_win.title('DLL MOTEUR WEB V 1.0')
        test_win['bg'] = "#979A9A"
        test_win.resizable(width=False, height=False)
    except Exception as e:
        print("Erreur")
 
def on_configure(event):
    canvas.configure(scrollregion=canvas.bbox('all'))
 
def fiche():
    global canvas
    frame2 = Frame(test_win, bg="#979A9A", bd=3, relief=GROOVE)
    frame2.pack(fill="both", expand="yes")
 
    frame3 = Frame(frame2, bg="#979A9A", bd=1, relief=RIDGE)
    frame3.pack()
 
    r_j1 = Label(frame3, text="rubrique du sucre", fg="#186A3B", bg="#979A9A", font="courier 9 bold", relief=FLAT)
    r_j1.grid(column=0, row=0, pady=2, padx=2)
    r_j2 = Entry(frame3, justify=CENTER, width=25, fg="#186A3B", bd=7, relief=RIDGE)
    r_j2.grid(column=1, row=0, sticky="nsew")
    r_j3 = Button(frame3, text="Recherhe", height=0, bg="#186A3B", fg="#FFFFFF", font="courier 9 bold",
                  activebackground="#922B21", bd=5, relief=RAISED)
    r_j3.grid(column=3, row=0, pady=2, padx=2, sticky="nsew")
 
    frame4 = LabelFrame(frame2, text="  MANGER :  ", bg="#922B21", fg="#186A3B", font="Arial 10 bold", relief=RIDGE)
    frame4.pack(fill="both", expand="yes", pady=2, padx=2)
 
    canvas = Canvas(frame4, relief=GROOVE)
    canvas.pack(side=LEFT, fill="both", expand="yes")
 
    scrollbar = Scrollbar(frame4, command=canvas.yview)
    scrollbar.pack(side=LEFT, fill='y')
    canvas.configure(yscrollcommand=scrollbar.set)
 
    canvas.bind('<Configure>', on_configure)
 
    frame = Frame(canvas)
    canvas.create_window((0, 0), window=frame, anchor='nw')
 
    l = Label(frame, text="Hello", font="-size 50")
    l.pack()
 
    l = Label(frame, text="World", font="-size 50")
    l.pack()
 
    f_fiche = Label(frame, bg="#979A9A", relief=RAISED)
    f_fiche.pack(fill="both", pady=3, padx=3)
    f_fiche.columnconfigure(0, weight=1)
 
    f_frame1 = Frame(f_fiche, bg="#979A9A", relief=FLAT)
    f_frame1.grid(column=0, row=0, sticky="nsew")
 
    frame2 = Frame(f_frame1, bg="#979A9A", bd=1, relief=FLAT)
    frame2.pack(fill="both", expand="yes", pady=5, padx=5)
 
    f_titr = Label(frame2, text="TITRE   :", fg="#922B21", bg="#979A9A", font="courier 9 bold", relief=FLAT)
    f_titr.grid(column=0, row=0, sticky="w")
    f_titre = Label(frame2, text="Bonbon", width=45, fg="#186A3B", bg="#979A9A",
                    font="Arial 10 bold", justify=LEFT, relief=FLAT)
    f_titre.grid(column=1, row=0, sticky="w")
    f_dat = Label(frame2, text="DATE        :", fg="#922B21", bg="#979A9A", font="courier 9 bold",
                  relief=FLAT)
    f_dat.grid(column=2, row=0, sticky="w")
    f_date = Label(frame2, text=str(1977), width=25, fg="#186A3B", bg="#979A9A", font="Arial 10 bold",
                   relief=FLAT)
    f_date.grid(column=3, row=0, sticky="w")
 
    f_genr = Label(frame2, text="GENRE   :", fg="#922B21", bg="#979A9A", font="courier 9 bold", relief=FLAT)
    f_genr.grid(column=0, row=1, sticky="w")
    f_genre = Label(frame2, text="sucre", width=45, fg="#186A3B", bg="#979A9A", font="Arial 10 bold",
                    relief=FLAT)
    f_genre.grid(column=1, row=1, sticky="w")
    f_temp = Label(frame2, text="TEMPS       :", fg="#922B21", bg="#979A9A", font="courier 9 bold",
                   relief=FLAT)
    f_temp.grid(column=2, row=1, sticky="w")
    f_temps = Label(frame2, text="1h 35min", width=25, fg="#186A3B", bg="#979A9A",
                    font="Arial 10 bold", relief=FLAT)
    f_temps.grid(column=3, row=1, sticky="w")
 
    l = Label(frame,
              text="Test text 1\nTest text 2\nTest text 3\nTest text 4\nTest text 5\nTest text 6\nTest text 7\nTest text 8\nTest text 9\nTest text 10\nTest text 11\nTest text 12\nTest text 13\nTest text 14\nTest text 15\nTest text 16\nTest text 18\nTest text 19\nTest text 20\nTest text 21\nTest text 22\nTest text 23\nTest text 24\nTest text 25\nTest text 26\nTest text 27\nTest text 28\nTest text 29\nTest text 30",
              font="-size 20")
    l.pack()
 
fenetre_principale()
fiche()
test_win.mainloop()