All pastes #421193 Raw Edit

Miscellany

public python v1 · immutable
·published 2007-04-02 18:03 UTC
rendered paste body
from Tkinter import *import timeclass Mafeuille:	"les routines de ma feuille"	def __init__ (self):		"""Constructeur de la fenêtre principale"""		self.listevente = []		self.listeachat = []		self.ctrldate = 0		self.montexte = ""		self.feuille = Tk()		self.feuille.title("Livre de Recette")		self.feuille.configure(bg="dark grey")		self.feuille.resizable(width=False, height=False)		self.laframe = Frame(self.feuille, bg="light grey", height=70,width=900)		self.laframe.place(x=0, y=0)		self.laframe.pack()		self.kanevas=Frame (self.feuille, bg="dark grey", height=300,width=900)		self.kanevas.place(x=0, y=0)		self.kanevas.pack()		self.txt1 = LabelFrame(text="Date du jour", fg='blue', bg="light grey", font="Arial 12", padx=5, pady=5)		self.txt1.place(x=10, y=5)#		TODO: ajout automatique de la date ???#		date = time.strftime("%d-%m-%Y")#		print date#		self.txt1 = LabelFrame(self.feuille, text="Encodage des recettes du:", fg='blue', bg="light grey", font="Arial 12", padx=5, pady=5)#		self.txt1.place(x=10, y=5)#		self.entree = Label(self.txt1, text=date, bg="light grey", fg="red", font="Arial 12")#		self.entree.pack()#		self.entent1.focus_set()		self.entree = Entry(self.txt1, width=15, bg="light blue", fg="blue", font="Arial 12")		self.entree.place (x=10, y=5)		self.entree.pack()		self.entree.focus_set()		### creation des champs d'entrée. avec leurs labels.		self.pv = LabelFrame(text='Prix de vente TVAC', fg='blue', bg="dark grey", font="Arial 12", height=275, width=150)		self.pv.place(x=10, y=75)		self.entent1 = Entry (width=10, bg="blue",fg="yellow", font="Arial 10")		self.entent1.place(x=50, y= 100)		self.pa = LabelFrame(text="Prix d'achat TVAC", fg='blue', bg="dark grey", font="Arial 12", height=275, width=150)		self.pa.place(x=190, y=75)		self.entent2 = Entry(width=10, bg="blue",fg="yellow", font="Arial 10")		self.entent2.place(x=230, y= 100)		self.total = LabelFrame(text="Total des ventes", fg='blue', bg="dark grey", font="Arial 12", height=275, width=150)		self.total.place(x=370, y=75)		self.stotal= Entry(width=10, bg="light blue",fg="red", font="Arial 10")		self.stotal.place(x=65, y=130)		self.stotal2= Entry(width=10, bg="light blue",fg="red", font="Arial 10")		self.stotal2.place(x=245, y=130)		### création du scrollbar		self.scrollbar = Scrollbar(self.feuille, orient=VERTICAL)		self.scrollbar.config(command=self.yview)		self.scrollbar.place(x=487, y=160)				### création des listebox		self.entlist1 = Listbox(width=10, bg="light grey", fg="red", font="Arial 10", yscrollcommand=self.scrollbar.set)		self.entlist1.place(x=65, y=160)				self.entlist2 = Listbox(width=10, bg="light grey", fg="red", font="Arial 10", yscrollcommand=self.scrollbar.set)		self.entlist2.place(x=245, y=160)		self.ltotal = Listbox(width=10, bg="light grey", fg="red", font="Arial 10", yscrollcommand=self.scrollbar.set)		self.ltotal.place(x=410, y=160)				### gestion des évenement champs d'entrée.		self.entree.bind("<Return>", self.actiondate)#		self.entent1.bind("<Return>", self.actionvente)#		self.entent2.bind("<Return>", self.actionachat)		self.entent1.bind("<Return>", self.actioninsert)		self.entent2.bind("<Return>", self.actioninsert)		self.feuille.mainloop()	def actiondate(self,event):		self.entreedate = str (self.entree.get())		self.entree.destroy()		self.txt1.configure(text="Encodage des recettes du")		self.entree = Label(self.txt1, text=self.entreedate, bg="light grey", fg="red", font="Arial 12")		self.entree.pack()		self.entent1.focus_set()#	def actionvente(self,event):#		self.entrevente= str (self.entent1.get())#		self.listevente.append(self.entrevente)#		self.entent2.focus_set()#	#	def actionachat(self,event):##		i=total=total2=0#		self.entreachat= str (self.entent2.get())#		self.listeachat.append(self.entreachat)#		self.entent1.delete(0,END)#		self.entent2.delete(0,END)#		self.entlist1.delete(0,END)#		self.entlist2.delete(0,END)#		self.ltotal.delete(0,END)#		self.stotal.delete(0,END)#		self.stotal2.delete(0,END)##		for lachat in self.listevente:##			strlachat= "   " + str(lachat)##			self.entlist1.insert(i, strlachat)##			total= total + float(lachat)##			strtotal = "   " + str(total)##			self.ltotal.insert(i, strtotal)##			i=i+1##		self.stotal.insert(0,total)##		for lvente in self.listeachat:##			strlvente = "   " + str(lvente)##			self.entlist2.insert(i, strlvente)##			total2= total2 + float(lvente)##			strtotal2 = "   " + str(total2)###			self.ltotal.insert(i, strtotal)##			i=i+1##		self.stotal2.insert(0, total2)#		self.action(self.listevente, self.entlist1, self.stotal, self.ltotal)#		self.action(self.listeachat, self.entlist2, self.stotal2)#		self.entent1.focus_set()	def actioninsert(self, event):		if event.widget == self.entent1 :			self.entrevente= str (self.entent1.get())			self.listevente.append(self.entrevente)			self.entent2.focus_set()		else :			self.entreachat= str (self.entent2.get())			self.listeachat.append(self.entreachat)			self.entent1.delete(0,END)			self.entent2.delete(0,END)			self.entlist1.delete(0,END)			self.entlist2.delete(0,END)			self.ltotal.delete(0,END)			self.stotal.delete(0,END)			self.stotal2.delete(0,END)			self.action(self.listevente, self.entlist1, self.stotal, self.ltotal)			self.action(self.listeachat, self.entlist2, self.stotal2)			self.entent1.focus_set()	def action(self, l, list, entry, listbox=''):		i=total=0		for e in l:			stre = "   " + str(e)			list.insert(i, stre)			total = total + float(e)			strtotal = "   " + str(total)			if listbox != '' :				listbox.insert(i, strtotal)			i=i+1		entry.insert(0, total)	def yview(self, *args):		apply(self.entlist1.yview, args)		apply(self.entlist2.yview, args)		apply(self.ltotal.yview, args)# Programme principal :if __name__ == '__main__' :	Mafeuille()