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
| # -*- coding: iso-8859-1 -*-
import Tix
class Help():
def __init__(self):
self.IHM()
def IHM(self):
root = Tix.Tk()
root.grid_rowconfigure(0, weight=1)
root.grid_columnconfigure(0, weight=1)
#Sommaire
self.varcombo = Tix.StringVar()
combo = Tix.ComboBox(root, editable=1, dropdown=1, variable=self.varcombo, command = self.Affiche)
combo.entry.config(state='readonly') ## met la zone de texte en lecture seule
combo.insert(0, "I- Introduction a l'atelier MCO")
combo.insert(1, "II- Module Concatenation")
combo.insert(2, ' II.1- Initialisations')
combo.insert(3, ' II.2- PreRequis')
#...
combo.grid(row=0, column=0, sticky='nswe')
#Page
## Le canvas
cnv = Tix.Tkinter.Canvas(root)
cnv.grid(row=1, column=0, sticky='nswe')
## Les scrollbars
hScroll = Tix.Scrollbar(root, orient=Tix.HORIZONTAL, command=cnv.xview)
hScroll.grid(row=2, column=0, sticky='we')
vScroll = Tix.Scrollbar(root, orient=Tix.VERTICAL, command=cnv.yview)
vScroll.grid(row=1, column=2, sticky='ns')
cnv.configure(xscrollcommand=hScroll.set, yscrollcommand=vScroll.set)
## Le Frame, dans le Canvas, mais sans pack ou grid
self.frm = Tix.Tkinter.Frame(cnv)
## Les labels et entrys dans le frame
partie = 'I'
self.ModifLabel(self.frm, partie)
## Pour etre sur que les dimensions sont calculées
self.frm.update()
## Création de la window dans le Canvas
cnv.create_window(0, 0, window=self.frm, anchor=Tix.NW)
## La scrollregion est la boite englobante pour tout ce qu'il y a dans le Canvas
cnv.configure(scrollregion=cnv.bbox(Tix.ALL))
#C'est parti!
root.mainloop()
def Affiche(self, evt):
partie = self.varcombo.get()
partie = partie.split('-')[0].replace(' ', '')
self.ModifLabel(self.frm, partie)
def ModifLabel(self, frm, partie):
for i in range(50):
self.label = Tix.Tkinter.Label(frm, text='Label_'+partie+'_%s: ' % i)
self.label.grid(row=i, column=0)
if __name__ == '__main__':
monHelp = Help() |
Partager