Problem mit wx.StaticText

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Meloy
User
Beiträge: 8
Registriert: Freitag 2. Juni 2006, 16:02

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
Meloy
User
Beiträge: 8
Registriert: Freitag 2. Juni 2006, 16:02

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:

Code: Alles auswählen

Y quote
Yo
You
Your
Wenn ich jetzt die großen "Y" jeweils durch ein kleines "y" ersetze, wird alles korrekt angezeigt...


:?:
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Meloy
User
Beiträge: 8
Registriert: Freitag 2. Juni 2006, 16:02

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 :-)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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. :oops:

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Meloy
User
Beiträge: 8
Registriert: Freitag 2. Juni 2006, 16:02

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
Antworten