Statistiques
| Révision :

root / prepareQMX.GUI.py @ 6

Historique | Voir | Annoter | Télécharger (1,26 ko)

1 6 tkerber
#!/usr/bin/env python
2 6 tkerber
from Tkinter import *
3 6 tkerber
4 6 tkerber
5 6 tkerber
class ScrolledList(Frame):
6 6 tkerber
    def __init__(self, options, parent=None):
7 6 tkerber
        Frame.__init__(self, parent)
8 6 tkerber
        self.pack(expand=YES, fill=BOTH)
9 6 tkerber
        self.makeWidgets(options)
10 6 tkerber
11 6 tkerber
    def handleList(self, event):
12 6 tkerber
        index = self.listbox.curselection()
13 6 tkerber
        label = self.listbox.get(index)
14 6 tkerber
        self.runCommand(label)
15 6 tkerber
16 6 tkerber
    def makeWidgets(self, options):
17 6 tkerber
        sbar = Scrollbar(self)
18 6 tkerber
        list = Listbox(self, relief=SUNKEN)
19 6 tkerber
        sbar.config(command=list.yview)
20 6 tkerber
        list.config(yscrollcommand=sbar.set)
21 6 tkerber
        sbar.pack(side=RIGHT, fill=Y)
22 6 tkerber
        list.pack(side=LEFT, expand=YES, fill=BOTH)
23 6 tkerber
        pos = 0
24 6 tkerber
        for label in options:
25 6 tkerber
            list.insert(pos, label)
26 6 tkerber
            pos = pos + 1
27 6 tkerber
28 6 tkerber
        list.bind('<Double-1>', self.handleList)
29 6 tkerber
        self.listbox = list
30 6 tkerber
    def runCommand(self, selection):
31 6 tkerber
        print 'You selected:', selection
32 6 tkerber
33 6 tkerber
if __name__ == '__main__':
34 6 tkerber
    options = map((lambda x: 'Lumberjack-' + str(x)), range(20))
35 6 tkerber
    ScrolledList(options).mainloop()