Salut à tous !

Je suis en train de coder un petit chrono pour faire cuire mes pattes !
Rien de compliquer, quand on le lance, ça démarre, quand on le quitte, ça s'arrête.

Mon problème est pour adapter les dimensions de la fenêtre à celle du wx.StaticText qui peut devenir de plus en plus large au fil du temps (plusieurs centaines d'heures, mais je voudrais faire ça propre).

Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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()
Dans cet exemple j'ai remplacé à la ligne 54 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
self.text.SetLabel(str(heure).zfill(2) + ':' + str(minute).zfill(2) + ':' + str(seconde).zfill(2))
Par:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
self.text.SetLabel(str(heure).zfill(2) + ':' + str(minute).zfill(2) + ':' + str(seconde).zfill(3))
Afin que ce soit bien visible.

J'ai essayé des self.Layout(), self.Fit()...
Mais rien à faire, je n'arrive pas à redimentionner simplement la fenêtre à la dimension du texte !

Voilà, si quelqu'un a une idée... (je suis sûr que c'est tout bête en plus )
Merci d'avance !