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() |