[geschlossen]DirPickerCtrl Buttonname ändern?

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
Schaf220
User
Beiträge: 113
Registriert: Montag 11. August 2008, 16:00
Wohnort: Bremen
Kontaktdaten:

Hallo liebe Community,
gibt es eine Möglichkeit den Buttontext von einem DirPickerCtrl zu ändern. Von "Browse" auf entweder Durchsuchen oder auf ein Ordner Bildchen(bmp oder so).

Mit freundlichen Grüßen
Schaf220
Zuletzt geändert von Schaf220 am Mittwoch 28. Dezember 2011, 15:19, insgesamt 1-mal geändert.
BlackJack

@Schaf220: Nicht das ich wüsste, aber wenn es Deutsch sein sollte, würde ich versuchen die Sprache auf Deutsch umzustellen. Oder hast Du das schon getan?
Benutzeravatar
Schaf220
User
Beiträge: 113
Registriert: Montag 11. August 2008, 16:00
Wohnort: Bremen
Kontaktdaten:

Die Sprache vom OS oder vom Programm selber?

Die Sprache vom Betriebssystem ist DE. Vom Programm wüsste ich nicht wie ich das festlegen kann.
BlackJack

@Schaf220: Schau Dir mal `wx.Locale` und da `Init()` und `GetSystemLanguage()` an. Das betrifft ja zum Beispiel auch Standardschaltflächen wie 'Yes', 'No', und 'Cancel', wo man bei einem deutschen System auch gerne 'Ja', 'Nein' und 'Abbruch' lesen würde.
Benutzeravatar
Schaf220
User
Beiträge: 113
Registriert: Montag 11. August 2008, 16:00
Wohnort: Bremen
Kontaktdaten:

@BlackJack: Also wenn ich die Zeilen ausführe:

Code: Alles auswählen

from wx import Locale
test = Locale()
print test.GetLanguageName(test.GetSystemLanguage())
bekomme ich German als Antwort.
BlackJack

@Schaf220: Dazu hättest Du nicht einmal ein Exemplar von `Locale` erstellen müssen, das sind in C++ statische Methoden. :-)
Gremlin
User
Beiträge: 166
Registriert: Freitag 28. Mai 2010, 23:49

Schaf220 hat geschrieben:gibt es eine Möglichkeit den Buttontext von einem DirPickerCtrl zu ändern.
Nein. Soweit ich weiß bzw. selbst rumprobiert habe, ist das nicht änderbar. Vielleicht liegts auch einfach daran, dass in keiner der von wxpython mitgelieferten gettext Dateien "Browse" übersetzt wird. :K
BlackJack hat geschrieben:Dazu hättest Du nicht einmal ein Exemplar von `Locale` erstellen müssen
Doch, das muss er tun, damit es funktioniert: http://groups.google.com/group/wxpython ... c9fbed53ec
Aber die Referenz von "Locale" sollte in einer Liste gespeichert und die Referenz der Liste dann an die App-Instanz gebunden werden. (Warum gerade der Umweg über die Liste notwendig ist, weiß ich nicht mehr genau. Vielleicht hat es damit zu tun, dass man dadurch die Sprache wechseln kann ohne das Programm neu starten zu müssen.)
BlackJack

@Gremlin: Der Link auf die Google-Gruppe funktioniert wenn sich da anmeldet.

Um statische Methoden auf `wx.Locale` aufzurufen muss man *kein* Exemplar davon erstellen. Das haben statische Methoden so an sich.

Code: Alles auswählen

In [148]: wx.Locale.GetLanguageName(58)
Out[148]: u'English (U.S.)'
Gremlin
User
Beiträge: 166
Registriert: Freitag 28. Mai 2010, 23:49

Ach.. ich hätte genauer lesen sollen, ich nehme alles zurück BlackJack. (abgesehen von dem Hinweis mit der Funktionalität.)

Und äh.. ich bin nicht bei Google angemeldet und kann trotzdem die Einträge lesen.
BlackJack

@Gremlin: Ich bekomme eine Seite wo ich aufgefordert werde einen Google-Account anzulegen wenn ich auf Deinen Link klicke.
Gremlin
User
Beiträge: 166
Registriert: Freitag 28. Mai 2010, 23:49

Also gut, dann hier die zentrale Aussage:
Robin Dunn hat geschrieben: > loc = wx.Locale(wx.LANGUAGE_ENGLISH_US)

You need to save a reference to the locale, otherwise it is reset to the
previous locale when this variable is deleted.

--
Robin Dunn
Software Craftsman
http://wxPython.org
Antworten