StaticText - Textausrichtung bei Wertänderungen

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Cobra5
User
Beiträge: 22
Registriert: Sonntag 25. Mai 2008, 10:44

Donnerstag 18. Dezember 2008, 19:18

Hallo Python-Forum,

habe folgendes Problem:

Erst mal der Quellcode:

Code: Alles auswählen

class StaticNumber(wx.StaticText):	

	def __init__(self, parent, foreground=wx.BLACK, 
						background=wx.WHITE):
		
		wx.StaticText.__init__(self, parent, -1, '0', size=(60, 30), 
											style=wx.ALIGN_CENTRE)

		# - Farbe und Font festlegen
		self.SetBackgroundColour(background)
		self.SetForegroundColour(foreground)
		self.SetFont(wx.Font(20, wx.FONTFAMILY_SWISS, 
											wx.FONTSTYLE_NORMAL, 
											wx.FONTWEIGHT_LIGHT ) ) 
		
	def Up(self, step=1):
		
		self.SetNumber(int(self.GetLabel())+step)
		
	def Down(self, step=1):
		
		self.Up(-step)
		
	def GetNumber(self):
		
		return int(self.GetLabel)
		
	def SetNumber(self, number):
		
		self.SetLabel(str(number))
		self.Refresh()
Die Klasse stellt ein StaticText dar, das Zahlen anzeigt. Mit den Methoden kann ich die Zahl erhöhen und verringern.

BildBild

Ich habe die Klasse beim Erstellen eines Minesweeper-Spiels verwendet. Es sind die Felder neben dem Smiley mit schwarzen Hintergrund und roter Schrift.

Die Bilder zeigen die Felder (Klasse StaticNumber) nach dem Erstellen (Bild links) und nach dem Ändern des Wertes (mit der Methode SetNumber)(Bild rechts). Wie man sieht, verleinern sich die Felder und der Text hat nun eine Linksausrichtung. Das soll aber nicht so sein. Das Feld sollte seine Ausrichtung und Größe behalten.

Hat jemand eine Idee, wie diese Neuausrichtung verhindere oder warum sie überhaupt auftritt?
Danke im Voraus.

Gruß Cobra5
Antworten