[Python-de] pyGtk und Umlaute in win32

Janos BEKESI jbekesi at meta-ware.at
Fri Mar 2 09:36:49 EST 2001


Hi all,

ich hab das Python-2 Buch von Löwis und Fischbeck benutzt und bin im 
gtk-Kapitel auf 2 Ergänzungsmöglichkeiten/notwendigkeiten gestoßen, 
die ich denen, die's interessiert, nicht vorenthalten will.

1) die Beispiele funktionieren (zumindest auf meinem System bzw. 
meiner pyGTK-Installation nicht, solange man "from GTK import *" 
nicht auf "from gtk import *" ändert. Vielleicht hab ich eine 
seltsame Version des pygtk-Moduls, aber es schadet nicht.

2) Umlaute und nicht-ascii-Sonderzeichen werden in pyGtk unter win32 
nicht angezeigt. Abhilfe schafft die vorherige Kodierung in unicode, 
was aber wieder (nur?) unter python 2 geht; ich weiß nicht, obs in 
pyGTK schon eine Funktion dafür gibt.

Meine Lösung (fürs Beispiel aus dem Buch: "gtkmenu.py"):

# ...
filemenu=gtk.new(gtk.GtkMenu)
newitem=gtk.GtkMenuItem("Neu")
if sys.version[0] < "2":	# Abfrage, ob python 2
    openitem=gtk.GtkMenuItem("Oeffnen")
else:
    openitem=gtk.GtkMenuItem(unicode("Öffnen",
		 "latin-1").encode("utf8")) 	# "latin-1" hängt wohl vom 	
										# Zeichensatz der Plattform ab
# ...



Man könnte die Konvertierung auch in eine Funktion verschieben, die 
abhängig von der Python-Version Konvertierungen nach unicode oder zu 
"oe, ue" etc. vornimmt.


Ich hoffe es hilft wem...

bye,

Janos



. . . m e t a - w a r e . . . . . . . .
dr. janos bekesi
schoenbrunnerstrasse 135
A--1050 Wien   Tel.      +43 1 548 2788
www.meta-ware.at
Austria        Tel./Fax  +43 1 548 1595



More information about the Python-de mailing list