Ja używam geany, kod Pythona nie jest zależny od edytora, tylko od interpretera. Python 3.0 jest cały zintegrowany z UTF i nie trzeba kombinować z UTF, w Pythonie 2.x trzeba zrobić to co napisałem. Że zły znak to krzyczy jak nie zrobisz tego co napisałem (czyli na początku skryptu -- coding: utf-8 -- i ciągi znaków jako u"ciąg"). Chyba nie muszę wspominać, że źródło powinno używać kodowania utf8?
# -*- coding: utf-8 -*-
from Tkinter import *
import sys
class Application(Frame):
def createWidgets(self):
Label(self, text=u"Żółć:").grid(row=0)
Label(self, text=u"Ściema:").grid(row=1)
self.e1 = Entry(self)
self.e2 = Entry(self)
self.e1.grid(row=0, column=1)
self.e2.grid(row=1, column=1)
self.okBtn = Button(self)
self.okBtn["text"] = "OK",
self.okBtn["command"] = self.okAction
self.okBtn.grid(row=0,column=3)
self.AnulujBtn = Button(self)
self.AnulujBtn["text"] = "Anuluj",
self.AnulujBtn["command"] = self.cancelAction
self.AnulujBtn.grid(row=1,column=3)
def okAction(self):
first = int(self.e1.get())
second = int(self.e2.get())
self.result = first, second
self.quit()
def cancelAction(self):
sys.exit()
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
root = Tk()
root.title("Programikr")
root.resizable(0,0)
d = Application(master=root)
d.mainloop()
print d.result
Taki kod u mnie bez problemu się uruchamia na Pythonie 2.6.
Python w wersji 3.x jest lepiej zintegrowany z UTF, piszesz stringi "" (bez u), nazwy zmiennych i funkcji również mogą mieć polskie znaki. Nie trzeba też na początku skryptu dodawać -- coding: utf-8 --