ich kann mich zur Zeit nicht endgültig entscheiden, mein Gui-Programm mit python2 und Tkinter,
oder es in python3 mit tkinter zu schreiben, deswegen versuche ich python2/python3 kompatiblen
Code zu schreiben. Das Programm ist relativ einfach, aber sehr umfangreich
Wichtig ist die Mehrsprachigkeit, die ich wie im Code-Beispiel
umsetzen möchte. Diesen Code-Schnipsel habe ich als kleinen Test geschrieben, weil ich
unter python2 in meinem Programm einen Unicode-Error hatte, den ich nicht nachvollziehen konnte.
('в' + '°') erzeugt den Fehler, tausche ich das russische в gegen ein beliebiges anderes Zeichen,
funktioniert das Programm wieder ohne Unicode Fehler?!). Im folgenden Code-Beispiel klappt es aber,
das hat mich verwirrt und ich frage mich ob ich nach so einem einfachen Muster wie im Code
Beispiel Kompatiblität in Bezug auf Unicode zwischen python2/3 herstellen kann?
Tkinter soll mit Unicode ja keine Schwächen haben!?.
Beispiel (läuft mit Python 2.6.5/3.1.2)
Code: Alles auswählen
# -*- coding: utf-8 -*-
# ^^^ bedeutet das coding, das alle strings in der datei als utf-8 strings
# in python2.6 umgesetzt werden?
try:
import Tkinter as tk
except:
import tkinter as tk
language = 'russian'
text = {
'english' : 'house',
'russian' : 'дом',
'chinese' : '房子'
}
def concat():
var.set(text[language]+'üäö房子'+str(21*2)+'MIX в '+'°')
root = tk.Tk()
var = tk.StringVar()
var.set(text[language])
label = tk.Label(root,font=(None,32),textvariable=var)
button = tk.Button(root,command=concat)
button.pack()
label.pack()
root.mainloop()