Il 19 dicembre 2013 15:41, Gabriele Battaglia <[email protected]> ha scritto:
> Questione semplice, progetto semplice, domande semplici e, please, risposte
> semplici. Immaginate di dover rispondere ad un bambino di 12 anni, nemmeno
> particolarmente sveglio, :) così sono io, almeno per quanto concerne Python.
>
> Progetto, sviluppare una piccola applicazione console, sotto Windows, con
> Python 2.7, che faccia da orologio per giocare a scacchi.
In realtà non è un'applicazione da console, ma usa tkinter... in
compenso è semplice, forse può servirti mutanda mutandis.
Ciao
--
Daniele
www.fugamatematica.blogspot.com
giusto!
nel verso
forse è perché non guardiamo le cose
Quando non ci capiamo,
#!/usr/bin/python
# -*- coding: iso-8859-15 -*-
#-------------------------------python------------------------crono.py--#
# #
# Cronometro #
# #
#--Daniele Zambelli--------------GPL-----------------------------2010---#
import time
from Tkinter import *
class Crono(object):
def __init__(self):
self.ti=None
self.reset()
def reset(self):
self.tt=0
def start(self):
self.ti=time.time()
def stop(self):
self.tt+=time.time()-self.ti
self.ti=None
def elapsedtime(self):
if self.ti:
etime=self.tt+time.time()-self.ti
else:
etime=self.tt
m, s = divmod(etime, 60)
h, m = divmod(m, 60)
return "%02d:%02d:%06.3f" % (h, m, s)
class AppCrono:
def __init__(self, master):
self.c=Crono()
self.master=master
self.textstst=('start', 'stop ')
self.stat=0
self.t1 = StringVar()
self.tstst = StringVar()
self.tstst.set(self.textstst[self.stat])
disp=Label(master, fg="blue", textvariable=self.t1)
disp.grid(row=0, column=0, columnspan=3)
self.bstartstop=Button(master, text=self.textstst[self.stat],
fg="blue", command=self.stst)
self.bstartstop.grid(row=1, column=0)
breset=Button(master, text="reset", fg="blue", command=self.reset)
breset.grid(row=1, column=1)
bexit=Button(master, text="exit", fg="red", command=self.basta)
bexit.grid(row=1, column=2)
self.reset()
def stst(self):
if self.stat==0:
self.c.start()
self.update_disp()
else:
self.c.stop()
self.master.after_cancel(self.after_id)
self.stat=1-self.stat
self.bstartstop['text']=self.textstst[self.stat]
def reset(self):
if self.stat==1:
self.stst()
self.c.reset()
self.t1.set(self.c.elapsedtime())
def basta(self):
self.master.destroy()
self.master.quit()
def update_disp(self):
self.t1.set(self.c.elapsedtime())
self.after_id=self.master.after(50, self.update_disp)
root = Tk()
app = AppCrono(root)
root.mainloop()
_______________________________________________
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python