Seite 1 von 1
StaticFancyText ändern
Verfasst: Montag 23. August 2010, 08:48
von mathi
hallo,
eigendlich dachte ich, dass ich mit:
Code: Alles auswählen
import wx.lib.fancytext as fa
self.Ergebnis1 = fa.StaticFancyText(self, -1, 'test1',pos=(120,70))
self.Freeze() # Fensteraufbau sperren
self.Ergebnis1.SetLabel('anderer Text')
self.Thaw()
self.Layout()
den Text "anderer Text" auf dem Panel lesen kann, dem ist abber nicht so, warum??
Es passiert einfach nichts, d.h. die Methode SetLabel() ist verfügbar. Wenn ich mit wx.StaticText arbeite funktioniert alles wie es soll...
Gruß Mathi
EDIT by Damaskus: ins WX Unterforum verschoben
Re: StaticFancyText ändern
Verfasst: Montag 23. August 2010, 09:00
von ntrunk
mathi hat geschrieben:[...]
den Text "anderer Text" auf dem Panel lesen kann, dem ist abber nicht so, warum??
Es passiert einfach nichts, d.h. die Methode SetLabel() ist verfügbar. Wenn ich mit wx.StaticText arbeite funktioniert alles wie es soll...
Gruß Mathi
Ich würde dir ja gerne helfen, aber
Code: Alles auswählen
Traceback (most recent call last):
File "test.py", line 3, in <module>
self.Ergebnis1 = fa.StaticFancyText(self, -1, 'test1',pos=(120,70))
NameError: name 'self' is not defined
Damit man ein Problem nachvollziehen kann, ist es notwendig, die Rahmenbedingungen zu kennen. Poste bitte einen auf das Wesentliche reduzierten Code, der dein Problem verdeutlicht. (1)
(Mir geht es bei meinen Problemen oft so, dass sich bei einem Minimalbeispiel wie von selbst die Lösung präsentiert

)
Norbert
(1) sollte das nicht ins wx-Unterforum?
Re: StaticFancyText ändern
Verfasst: Montag 23. August 2010, 09:38
von mathi
Unten mal der Code, ich habe gleich 2 Varianten zusammen gefügt, einmal Änderung direkt in
class ErgebnisPanel(wx.Panel)
und einmal in
class Test(wx.Frame)
ntrunk hat geschrieben:(1) sollte das nicht ins wx-Unterforum?
äääh, ja natürlich wäre es dort besser aufgehoben, sorry.
Code: Alles auswählen
# -*- coding: iso-8859-15 -*-
import wx
import wx.lib.fancytext as fa
#wx.SetDefaultPyEncoding("iso-8859-15")
class ErgebnisPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent,style=wx.TAB_TRAVERSAL | wx.BORDER_RAISED)
# Ausgabe
Ergebnis = wx.StaticText(self, -1, ' Ergebnis: ',pos=(10,10))
self.Ergebnis1 = fa.StaticFancyText(self, -1, 'test1',pos=(40,40))
self.Freeze()
self.Ergebnis1.SetLabel('anderer Text')
self.Thaw()
self.Layout()
class Test(wx.Frame):
def __init__(self, parent = None,id=-1, title = "testframe", size = wx.Size(200, 200)):
wx.Frame.__init__(self, parent,id, title, size = size)
#MainPanel
main_panel = wx.Panel(self,-1)
vbox = wx.BoxSizer(wx.VERTICAL)
main_panel.SetSizer(vbox)
#Ergebnispanel
self.ergebnis_panel=ErgebnisPanel(main_panel)
vbox.Add(self.ergebnis_panel, 1, wx.EXPAND)
self.Show()
self.Freeze()
self.ergebnis_panel.Ergebnis1.SetLabel('nochmal anderer Text')
self.Thaw()
self.Layout()
def main():
"""Main"""
app = wx.App()
f = Test()
f.Center()
f.Show()
app.MainLoop()
if __name__ == "__main__":
main()
Re: StaticFancyText ändern
Verfasst: Montag 23. August 2010, 12:46
von mathi
Lösung gefunden,
siehe Frage "Umlaute in StaticFancyText" im wx-Forum
Gruß Mathi