To geon:ups. překlep. opravil jsem to. díky za upozornění. ale stále to nefunguje. ještě jsem to dočasně zjednodušil takže to vypadá takto:
# -*- coding: cp1250 -*-
from Tkinter import*
class aplikace(Frame):
def __init__(self, rodic=0):
Frame.__init__(self, rodic)
self.type = 1
self.master.title(unicode("kódér", "cp1250"))
self.vybuduj()
def kodovat(text):
kodovany=""""""
for x in text:
znak=chr(ord(x)+1)
#znak=str(znak)
kodovany+=znak
self.txtBox.insert(kodovany)
def dekodovat(text):
kodovany=""""""
for x in text:
znak=chr(ord(x)-1)
#znak=str(znak)
kodovany+=znak
self.txtBox.insert(kodovany)
def vymaz(self):
exit()
def vybuduj(self):
ram=Frame(self)
pisem=Frame(ram,borderwidth=1, relief=SUNKEN)
self.txtBox=Text(self, width=60, height=10)
self.txtBox.pack
text=self.txtBox.get(1.0, END)
tlacitka=Frame(ram)
self.kod=Button(tlacitka, text=unicode("kóduj","cp1250"), command=self.kodovat())
self.kod.pack()
self.dekod=Button(tlacitka, text=unicode("dekóduj","cp1250"), command=self.dekodovat())
self.dekod.pack()
self.vypni=Button(tlacitka, text=unicode("Ukonči","cp1250"), comand=self.vymaz())
self.vypni.pack()
program=aplikace()
program.mainloop()
a háže to chybu:
Traceback (most recent call last):
File "C:\Python25\programy\koder_objektovany(uprava).py", line 48, in <module>
program=aplikace()
File "C:\Python25\programy\koder_objektovany(uprava).py", line 9, in __init__
self.vybuduj()
File "C:\Python25\programy\koder_objektovany(uprava).py", line 41, in vybuduj
self.analyzuj=Button(tlacitka, text=unicode("kˇduj","cp1250"), command=self.
kodovat())
File "C:\Python25\programy\koder_objektovany(uprava).py", line 14, in kodovat
for x in text:
File "C:\Python25\lib\lib-tk\Tkinter.py", line 1201, in cget
return self.tk.call(self._w, 'cget', '-' + key)
TypeError: cannot concatenate 'str' and 'int' objects
což znamená že nemám kombinovat "str" a "int" řetězce, ale nevím jak se toho zbavit.