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 60 61 62 63 64 65
| #!/usr/bin/env python
# -*- coding: utf-8 -*-
import wx
import os, sys
class Gui (wx.Frame):
def __init__ (self, titre):
wx.Frame.__init__(self, None, wx.ID_ANY, title=titre)
self.panel = wx.Panel(self, wx.ID_ANY)
sizer = wx.BoxSizer(wx.VERTICAL)
# ----------------------------------------------------------------------------------------------------------- Widgets
self.text = wx.StaticText(self.panel, wx.ID_ANY, u'00:00:00')
font = wx.Font(40, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD)
self.text.SetFont(font)
sizer.Add(self.text, flag=wx.ALIGN_CENTER|wx.ALL, border=20)
# ----------------------------------------------------------------------------------------------------------- Divers
# Sizer + Fit
self.panel.SetSizerAndFit(sizer)
self.Fit()
# Redimentionnable
self.SetMinSize(self.GetSize())
self.SetMaxSize(self.GetSize())
# Events
self.Bind(wx.EVT_TIMER, self.label)
# Lancement du chrono...
self.spend_time = 0
self.timer = wx.Timer(self)
self.timer.Start(1000)
def label (self, time):
self.spend_time += 1
temps = self.spend_time
heure = temps / 3600
temps = temps - (heure * 3600)
minute = temps / 60
temps = temps - (minute * 60)
seconde = temps
self.text.SetLabel(str(heure).zfill(2) + ':' + str(minute).zfill(2) + ':' + str(seconde).zfill(3))
class Ihm (wx.App):
def OnInit (self):
root = Gui(u'PyChronos')
root.Show(True)
self.SetTopWindow(root)
return True
if __name__ == '__main__':
app = Ihm()
app.MainLoop() |
Partager