Taschen-Rechner
Verfasst: Montag 11. Oktober 2010, 21:03
Hallo,
Ich bin erst ein Anfänger in der Sache Python und der Programmierung, ich habe folgendes ein Programmcode, einen Taschenrechner
Jetzt ich meine Frage das Programm läuft ohne Probleme jetzt will in das Programm einen Code hinzufügen wenn ich das Ergebniss ausgeben will nicht auf = Zeichen drücken muss sondern die Enter Taste drücke wie schreibe ich den Code ?
Danke
lg 8800gtx
Ich bin erst ein Anfänger in der Sache Python und der Programmierung, ich habe folgendes ein Programmcode, einen Taschenrechner
Code: Alles auswählen
from Tkinter import *
class Rechner(Tk):
def __init__(self):
Tk.__init__(self)
self.title('Taschenrechner')
self.ende=0
self.anzeige=Anzeige(self)
self.anzeige.grid(column=0,row=0,sticky=E+W,
columnspan=6, pady=5)
raster=[(0,1,'7'),(1,1,'8'),(2,1,'9'),(3,1,'/'),
(0,2,'4'),(1,2,'5'),(2,2,'6'),(3,2,'*'),
(0,3,'1'),(1,3,'2'),(2,3,'3'),(3,3,'-'),
(0,4,'0'),(1,4,'%'),(3,4,'+')]
for (i,j,t) in raster:
Taste(self,t).grid(column=i,row=j)
Clear(self).grid(column=5,row=1)
Gleich(self).grid(column=5,row=2)
self.mainloop()
class Taste(Button):
def __init__(self, fenster,t):
Button.__init__(self,fenster,
bg='black',
fg='green',
width=4,
height=2,
text=t,
font=('Arial',14,'bold'),
command=self.eintragen)
self.zeichen=t
self.fenster=fenster
def eintragen(self):
d=self.fenster.anzeige
if self.fenster.ende:
d.delete(0,len(d.get()))
self.fenster.ende=0
d.eintragen(self.zeichen)
class Clear(Button):
def __init__(self, fenster):
Button.__init__(self,
fenster,
text='C',
bg='black',
fg='red',
width=4,
height=2,
font=('Arial',14,'bold'),
command=self.loeschen)
self.anzeige=fenster.anzeige
def loeschen(self):
self.anzeige.loeschen()
class Gleich(Button):
def __init__(self, fenster):
Button.__init__(self,
fenster,
text='=',
bg='black',
fg='yellow',
width=4,
height=2,
font=('Arial',14,'bold'),
command=self.rechnen
)
self.fenster=fenster
def rechnen(self):
ergebnis=eval(self.fenster.anzeige.get())
ende=len(self.fenster.anzeige.get())
self.fenster.anzeige.insert(ende, '='+str(ergebnis))
self.fenster.ende=1
class Anzeige(Entry):
def __init__(self,fenster):
Entry.__init__(self, fenster,width=20,font=('Courier New',16))
def eintragen (self,zeichen):
self.insert(len(self.get()),zeichen)
def loeschen(self):
self.delete(0,len(self.get()))
app=Rechner()
Danke
lg 8800gtx