Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #demowidget2f.py (programme complet)
- import sys
- from Tkinter import *
- import ttk
- #import tkMessageBox
- #import tkFont
- #import tkFileDialog
- class DemoWidget2:
- #------------------------------------------------------------------
- #
- #------------------------------------------------------------------
- def __init__(self,principale = None):
- self.DefinirVariables()
- f = self.ConstruireWidgets(principale)
- self.PlacerWidgets(f)
- #------------------------------------------------------------------
- #
- #------------------------------------------------------------------
- def DefinirVariables(self):
- self.selectionListeDeroulante1 = StringVar()
- self.valeursC1 = ['Neant','Option 1','Option 2','Option 3']
- self.valeurSelection = StringVar()
- self.valeurSelection2 = StringVar()
- self.boutonEtat = False
- self.valeurBarreProg2 = StringVar()
- def FichierNouveau(self):
- print "Menu - Fichier Nouveau"
- def FichierOuvrir(self):
- print "Menu - Fichier Ouvrir"
- def FichierSauver(self):
- print "Menu -Fichier Sauver"
- def EditionCouper(self):
- print "Menu - Edition Couper"
- def EditionCopier(self):
- print "Menu - Edition Copier"
- def EditionColler(self):
- print "Menu - Edition Coller"
- def AideApropos(self):
- print "Menu - Aide Apropos"
- #------------------------------------------------------------------
- #
- #------------------------------------------------------------------
- def ConstruireWidgets(self,principale):
- fenetre = Frame(principale)
- #==============================================================
- # LES MENUS
- #==============================================================
- # Cretion de la barre de menus
- self.barreMenus = Menu(principale)
- # Creation du menu Fichier, et ajout a la barre de menus
- menuFichier = Menu(self.barreMenus, tearoff = 0)
- menuFichier.add_command(label = "Nouveau", command = self.FichierNouveau)
- menuFichier.add_command(label = "Ouvrir", command = self.FichierOuvrir)
- menuFichier.add_command(label = "Sauver", command = self.FichierSauver)
- menuFichier.add_separator()
- menuFichier.add_command(label = "Quitter", command = root.quit)
- self.barreMenus.add_cascade(label = "Fichier", menu = menuFichier)
- # Creation du menu Edition
- menuEdition = Menu(self.barreMenus, tearoff = 0)
- menuEdition.add_command(label = "Couper", command = self.EditionCouper)
- menuEdition.add_command(label = "Copier", command = self.EditionCopier)
- menuEdition.add_command(label = "Coller", command = self.EditionColler)
- self.barreMenus.add_cascade(label = "Edition", menu = menuEdition)
- # Creation du menu Aide
- menuAide = Menu(self.barreMenus, tearoff=0)
- menuAide.add_command(label = "A propos", command = self.AideApropos)
- self.barreMenus.add_cascade(label = "Aide", menu = menuAide)
- # affichage du menu
- principale.config(menu = self.barreMenus)
- #==============================================================
- # FIN DES MENUS
- #==============================================================
- self.f1 = Frame(fenetre,
- relief = SUNKEN,
- borderwidth = 2,
- width = 500
- )
- self.labelListeDeroulante = Label(self.f1, text = "Liste deroulante : ")
- self.listeDeroulante1 = ttk.Combobox(self.f1,
- height = "19",
- width = 20,
- textvariable = self.selectionListeDeroulante1
- )
- self.listeDeroulante1['values'] = self.valeursC1
- # associe l'evenement virtuel a une fonction de rappel
- self.listeDeroulante1.bind("<<ComboboxSelected>>",self.testListeDeroulante)
- self.separ = Frame(self.f1,
- width = 140,
- height = 2,
- relief = RIDGE,
- borderwidth = 2
- )
- self.labelSelection = Label(self.f1, text = "Selection numerique :")
- self.selection1 = Spinbox(self.f1,
- from_ = 1.0,
- to = 10.0,
- width = 3,
- textvariable = self.valeurSelection,
- wrap=True
- )
- #=======================================
- # Barre de progression
- #=======================================
- self.fBarreProg = Frame(self.f1,
- relief = SUNKEN,
- borderwidth = 2
- )
- self.lbl0 = Label(self.fBarreProg,
- text = "Barres de progression"
- )
- self.lbl1 = Label(self.fBarreProg,
- text = "Indeterminee",
- anchor = 'e'
- )
- self.barreProg = ttk.Progressbar(self.fBarreProg,
- orient = HORIZONTAL,
- length = 100,
- mode = 'indeterminate',
- maximum = 100
- )
- self.btnptest = Button(self.fBarreProg,
- text = "Demarrer",
- command = self.TestBarreProg
- )
- self.lbl2 = Label(self.fBarreProg,
- text = "Determinee"
- )
- self.barreProg2 = ttk.Progressbar(self.fBarreProg,
- orient = HORIZONTAL,
- length = 100,
- mode = 'determinate',
- variable = self.valeurBarreProg2
- )
- self.selection2 = Spinbox(self.fBarreProg,
- from_ = 1.0,
- to = 100.0,
- textvariable = self.valeurSelection2,
- wrap = True,
- width = 5,
- command = self.SelectionAction
- )
- #=======================================
- # ONGLETS
- #=======================================
- self.fenetreOnglets = Frame(self.f1,
- relief = SUNKEN,
- borderwidth = 2,
- width = 500,
- height = 300
- )
- self.onglets = ttk.Notebook(self.fenetreOnglets,
- width = 490,
- height = 290
- )
- self.p1 = Frame(self.onglets)
- self.p2 = Frame(self.onglets)
- self.onglets.add(self.p1,text = 'Page 1')
- self.onglets.add(self.p2,text = 'Page 2')
- self.labelPage1 = Label(self.p1,
- text = "Voici un texte sur la page 1",
- padx = 3,
- pady = 3
- )
- return fenetre
- #------------------------------------------------------------------
- #
- #------------------------------------------------------------------
- def PlacerWidgets(self,principale):
- fenetre = principale
- fenetre.grid(column = 0, row = 0)
- self.f1.grid(column = 0,row = 0)
- self.labelListeDeroulante.grid(column = 0,row = 2)
- self.listeDeroulante1.grid(column = 1,
- row = 2,
- columnspan = 4,
- pady = 2
- )
- self.separ.grid(column = 0,
- row = 3,
- columnspan = 8,
- sticky = 'we',
- padx = 3,
- pady = 3
- )
- self.labelSelection.grid(column = 0, row = 4)
- self.selection1.grid(column = 1,
- row = 4,
- pady = 2
- )
- # Barre de progression
- self.fBarreProg.grid(column = 0,
- row = 5,
- columnspan = 8,
- sticky = 'nsew',
- padx = 3,
- pady = 3
- )
- self.lbl0.grid(column = 0, row = 0)
- self.lbl1.grid(column = 0,
- row = 1,
- pady = 3
- )
- self.barreProg.grid(column = 1, row = 1)
- self.btnptest.grid(column = 3, row = 1)
- self.lbl2.grid(column = 0,
- row = 2,
- pady = 3
- )
- self.barreProg2.grid(column = 1, row = 2)
- self.selection2.grid(column = 3, row = 2)
- self.fenetreOnglets.grid(column = 0,
- row = 6,
- columnspan = 8,
- rowspan = 7,
- sticky = 'nsew'
- )
- self.onglets.grid(column = 0,
- row = 0,
- columnspan = 11,
- sticky = 'nsew'
- )
- self.labelPage1.grid(column = 0,row = 0)
- self.labelPage2 = Label(self.p2,
- text = 'Voici un texte sur la page 2',
- padx = 3,
- pady = 3
- ).grid(
- column = 0,
- row = 1
- )
- def testListeDeroulante(self,p1):
- print self.selectionListeDeroulante1.get()
- def TestBarreProg(self):
- if self.boutonEtat == False:
- self.btnptest.config(text="Arreter")
- self.boutonEtat = True
- self.barreProg.start(10)
- else:
- self.btnptest.config(text="Demarrer")
- self.boutonEtat = False
- self.barreProg.stop()
- def SelectionAction(self):
- v = self.valeurSelection2.get()
- print v
- #self.barreProg2.value = float(v)
- self.valeurBarreProg2.set(v)
- if __name__ == '__main__':
- def Center(window):
- # recupere largeur et hauteur de l'ecran
- sw = window.winfo_screenwidth()
- sh = window.winfo_screenheight()
- # recupere largeur et hauteur de la fenetre
- rw = window.winfo_reqwidth()
- rh = window.winfo_reqheight()
- xc = (sw-rw)/2
- yc = (sh-rh)/2
- print "{0}x{1}".format(rw,rh)
- window.geometry("%dx%d+%d+%d"%(rw,rh,xc,yc))
- window.deiconify()
- root = Tk()
- root.title('Demo de plus de widgets')
- demo = DemoWidget2(root)
- root.after(13,Center,root)
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement