# -*- coding: UTF-8 -*- #MarcFranc.py from Tkinter import * class Fen1: def __init__ (self, parent): global NbreCre global SomRepart self.parent = root self.lbNbreCre = Label (text = "Nbre de creanciers") self.lbNbreCre.grid(row=2, column=0) NbreCre = IntVar() self.entNbreCre = Entry(root,textvariable = NbreCre, width=20) self.entNbreCre.config(bg="grey") self.entNbreCre.grid (row=2, column=1) self.entNbreCre.focus() self.lbSomRepart = Label (text = "Somme totale à répartir") self.lbSomRepart.grid(row=3,column=0) SomRepart = DoubleVar() self.entSomRepart = Entry(root, textvariable = SomRepart, width = 20) self.entSomRepart.config (bg="grey") self.entSomRepart.grid(row=3, column=1) SomRepart.set ("0") self.btOK = Button(root,command = self.clickOK) self.btOK.grid(row = 4, column = 4) self.btOK.config(text="OK") self.btQUIT = Button(root,command = self.clickQUIT) self.btQUIT.grid(row = 4, column = 5) self.btQUIT.config(text="QUIT") def clickOK(self): root.destroy() fen2 = Fen2(Toplevel) def clickQUIT(self): print "QUIT" root.destroy() class Fen2: def __init__ (self, parent): global fen2 global NomCre global SomCre global lstEntryNomCre global lstEntrySomCre fen2 = Tk() fen2.title("Marc le franc") self.lbNomCre = Label (fen2,text = "Nom du créancier") self.lbNomCre.grid(row=3, column =1) self.lbSomCre = Label (fen2, text = "Créance totale") self.lbSomCre.grid(row=3, column=2) self.lbColloc = Label (fen2, text = "Collocation") self.lbColloc.grid (row=3, column = 3) lstEntryNomCre = [] lstEntrySomCre = [] y = NbreCre.get() i = 0 while i < y: NumCre = IntVar() NumCre = i+1 self.lbNumCre = Label (fen2, text = NumCre ) self.lbNumCre.grid(row= i+6, column=0) NomCre = StringVar() self.entNomCre = Entry (fen2, textvariable = NomCre, width = 50) self.entNomCre.grid(row=i+6, column=1) SomCre = DoubleVar() self.entSomCre = Entry (fen2, textvariable = SomCre, width = 20) self.entSomCre.grid(row=i+6, column =2) Result= DoubleVar() lbResultColloc = Label (fen2, textvariable = Result, width = 20) lbResultColloc.grid (row = i+6, column=3) Result.set ("0") lstEntryNomCre.append(self.entNomCre) lstEntrySomCre.append (self.entSomCre) i += 1 self.btOK = Button(fen2,command = self.clickOK) self.btOK.grid(row = y + 12, column = 4) self.btOK.config(text="CALC") self.btPRINT = Button(fen2, command = self.clickPRINT) self.btPRINT.grid(row = y + 12, column=5) self.btPRINT.config(text="PRINT") self.btSAVE = Button (fen2, command = self.clickSAVE) self.btSAVE.grid(row = y + 12, column=6) self.btSAVE.config(text=" SAVE") self.btEXPORT = Button (fen2, command = self.clickEXPORT) self.btEXPORT.grid(row = y + 12, column=7) self.btEXPORT.config(text="EXPORT") fen2.mainloop() def clickOK(self): global SomRepart lstDataNomCre = []#liste des noms de créanciers lstDataSomCre = []#liste des sommes dues aux créanciers lstQPCre = []#liste des quote-parts revenant aux créanciers TotSomCre = float(0)#total des sommes dues aux créanciers SommeDue = float(0) SomCre2 = DoubleVar() y = NbreCre.get() j = 0 while j < y: NomCre = str(lstEntryNomCre [j].get()) lstDataNomCre.append (NomCre) SomCre2 = str(lstEntrySomCre [j].get()) lstDataSomCre.append (SomCre2) TotSomCre = TotSomCre + float(SomCre2) j += 1 k = 0 Colloc = float(0) TotRepart = float(SomRepart.get()) if TotSomCre > TotRepart: while k < y: SommeDue = float(lstDataSomCre[k]) Colloc = TotRepart*(SommeDue / float(TotSomCre)) lstQPCre.append(Colloc) Result = DoubleVar() self.lbResultColloc = Label (fen2, textvariable = Result, width = 40) self.lbResultColloc.grid (row = k+6, column=3) Result.set (lstQPCre[k]) k += 1 else: while k < y: self.lbResultColloc = Label (fen2, text ="Créanciers entièrement désintéressés", width = 40) self.lbResultColloc.grid (row = k+6, column=3) k += 1 def clickPRINT(self): print "Fonction d'impression" def clickSAVE(self): print "Fonction de sauvegarde" def clickEXPORT(self): print "Fonction d'exportation" root = Tk() myapp = Fen1(root) root.title ("Marc le franc") root.mainloop()