| 12
 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