Bonjour à tous. Je viens de faire la découverte du module Pmw et j'ai commencé à l'implémenter dans un programme pour me familiariser avec. Dans mon programme, j'affiche des images dans plusieurs labels générés automatiquement via une boucle et sont inclus dans une scrolledframe car le nombre de label est variable. En utilisant la méthode .pack() sur ma scrolledframe, j'arrive au résultat que je souhaite mais je me trouve limité dans mes possibilités de placement. Je tente donc la méthode .grid() avec column=0 et row=0 et malheureusement ma scrollbar n'apparait plus dans la scrolledframe. N'ayant trouvé que peu d'information sur Pmw et pas du tout sur ce problème particulier, je m'en retourne à vous.

J'utilise python 2.7 pour ce programme et voici le "programme" :
(code qui n'est encore qu'au stade de "test")
j'ai mis en commentaire le code qui est en cause dans la partie Frame Principale.

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
# !/usr/bin/env python
# -*- coding:utf-8 -*-
 
 
import Tkinter as Tk
from PIL import ImageTk, Image
from dircache import listdir
import Pmw
 
class Base(Tk.Tk):
    def __init__(self):
 
        Tk.Tk.__init__(self)                
        Pmw.initialise(self)
 
        ##### MenuBar #####
        menu_fichier = Tk.Menu(self)
        sous_menu_fichier = Tk.Menu(menu_fichier, tearoff=0)
        sous_menu_fichier.add_command(label='Quitter', command=self.quit)
        menu_fichier.add_cascade(label='Fichier', menu=sous_menu_fichier)
        self.configure(menu=menu_fichier)
 
        ##### Frame Principale #####
 
        displayFrame = Pmw.ScrolledFrame(self,
                                         labelpos = 'N',
                                         usehullsize=1,
                                         hscrollmode='none',
                                         hull_width = 1300,
                                         hull_height= 800
                                         )
        displayFrame.pack(side="left")
        #displayFrame.grid(column=0, row=0)
        self.m = displayFrame.interior()
 
 
        ##### Déclaration des variables pour la génération des thumbs #####
        dir = listdir("K:/TEST/Images/")
        col, lign = 0, 0
        x = 0
        c = 0
 
        ##### Génération des thumbs #####
        while x < len(dir):
 
            adrThumb = "K:/TEST/Images/"+dir[x]
            Listvar = ["Label"+str(x),"affiche"+str(x),"photo"+str(x), "frame"+str(x)]
 
            Listvar[3] = Tk.Frame(self.m, pady=5, padx=5)
            Listvar[3].grid(column=col, row=lign)
            Listvar[1] = Image.open(adrThumb)
            Listvar[2] = ImageTk.PhotoImage(Listvar[1])
            Listvar[0] = Tk.Label(Listvar[3], image=Listvar[2])
            Listvar[0].image = Listvar[2]
            Listvar[0].grid(column=0, row=0, columnspan=2)
 
            col += 1
            x += 1
            if col % 5 == 0 and col != 0:
                lign += 1
                col = 0
 
if __name__ == '__main__':
    App = Base()
    App.title("Vidéothèque")
    App.mainloop()
Je vous remercie d'avance pour vos réponses.