Seite 1 von 1
Problem mit wx.StaticText
Verfasst: Freitag 24. November 2006, 10:01
von Meloy
Moin,
ich versuch grade mich in die GUI-Programmierung inzulesen und habe mich für wxPyhton als GUI-Toolkit entschieden.
Allerdings hänge ich grade an folgender Stelle:
http://wiki.wxpython.org/index.cgi/Gett ... 040bb5fb59
Hier erscheint bei mir nicht "Your quote" sondern nur "Your".
Jetzt hab ich mal etwas experimentiert und folgende Zeilen zusätzlich eingefügt. (also im Bsp. nach Zeile 5)
Code: Alles auswählen
self.quote = wx.StaticText(self, -1, "Yourquote", wx.Point(20, 60))
self.quote = wx.StaticText(self, -1, "Y ourq uote", wx.Point(20, 90))
self.quote = wx.StaticText(self, -1, "gdklfhjgdkfjghdlkfhjgdflkjgdhfklgjdhfkglquote quote", wx.Point(20, 120))
self.quote = wx.StaticText(self, -1, "Y o u r q u o t e", wx.Point(20, 150))
Das wird alles korrekt angezeigt.
Wo ist mein Fehler?
(Ubuntu Edgy, python 2.4.4, python-wxgtk2.6)
Grüße
Günther
Verfasst: Freitag 24. November 2006, 10:11
von Meloy
So ich hab noch etwas weiter probiert und werde immer irritierter:
Code: Alles auswählen
self.quote = wx.StaticText(self, -1, "Y quote", wx.Point(20, 30))
self.quote = wx.StaticText(self, -1, "Yo quote", wx.Point(20, 60))
self.quote = wx.StaticText(self, -1, "You quote", wx.Point(20, 90))
self.quote = wx.StaticText(self, -1, "Your quote", wx.Point(20, 120))
Angezeigt wird:
Wenn ich jetzt die großen "Y" jeweils durch ein kleines "y" ersetze, wird alles korrekt angezeigt...

Re: Problem mit wx.StaticText
Verfasst: Freitag 24. November 2006, 10:16
von gerold
Meloy hat geschrieben:Hier erscheint bei mir nicht "Your quote" sondern nur "Your".
Hi Günther!
Ich habe noch nie oder nur in Ausnahmefällen mit fix positionierten Widgets gearbeitet, deshalb weiß ich nicht, wie sich die Dinger standardmäßig verhalten.
Vielleicht genügt es aber auch schon, die Breite des Widgets festzulegen. Das ist bei fix positionieren Widgets, sicher keine so schlechte Idee.
Code: Alles auswählen
self.quote = wx.StaticText(
self, -1, "Your quote :", wx.Point(20, 30), wx.Size(200, -1)
)
self.quote.SetBackgroundColour("green")
mfg
Gerold

Verfasst: Freitag 24. November 2006, 10:31
von Meloy
Hi Gerold,
danke für die schnelle Antwort...
Die Angabe der Breite hat tasächlich geholfen, allerdings wird bei mir der Hintergrund nicht grün. (Ich nehme doch mal an, das er das tun sollte, oder?)
Seltsam finde ich weiterhin, das ohne Angabe der Breite "your quote" korrekt angezeigt wird, "Your quote" jedoch nur als "Your".
Wenn ich aus dem "Your quote" ein "Aaaa quote" mache, wird es auch korrekt anzeigt. Das ergibt doch keinerlei Sinn.
Jetzt ist nur die Frage: Bug oder Feature

Verfasst: Freitag 24. November 2006, 11:02
von gerold
Meloy hat geschrieben:Die Angabe der Breite hat tasächlich geholfen, allerdings wird bei mir der Hintergrund nicht grün.
[...]
Das ergibt doch keinerlei Sinn. Jetzt ist nur die Frage: Bug oder Feature

Hi Meloy!
Ich habe gerade in der Doku nachgesehen --> SetBackgroundColour --> Windows only.
Das habe ich nicht bedacht.
Dass sich die Breite der Widgets nicht korrekt anpasst ist sicher kein Feature. Aber wenn man weiß, dass es damit Probleme geben kann, dann ist es ja nicht schwer, diesen "Bug" zu umgehen. Wahrscheinlich funktioniert es in der nächst höheren Version von wxPython unter Linux schon wieder so wie erwartet.
mfg
Gerold

Verfasst: Freitag 24. November 2006, 11:11
von Meloy
Hmm, überzeugt mich nicht so richtig, aber gut...
Für mich als absoluten Neuling in dem Bereich ist es halt etwas schwierig zu erkennen, ob das jetzt ein dramatischer Bug ist oder nur ein nerviges kleines Problem, das in der Praxis ohnehin kaum eine Rolle spielt.
Wie auch immer: danke für Deine Antworten, ich werde mich jetzt einfach mal weiter durch die Tutorials wühlen.
Grüße
Günther