ich bin grade dabei mit Python Gtk einen Taschenrechner zu programmieren und hänge bei den Mathe Operationen fest. Ich habe den Großteil der Buttons fertig nur ich frage mich jetzt wie ich es schaffe den +*-/ und dem = Button die Signale zu übergeben die sie brauchen um z.B. zwei Zahlen zu addieren. Außerdem frage ich mich wie ich es schaffe die Zahlen sozusagen in den Zahlen zwischenzuspeichern die ich dann für die Rechnung benutze(also erste_zahl + zweite_zahl = Ergebnis oder so ähnlich). Ich habe schon das ganze Internet leer gesucht aber keinen guten Ansatzpunkt oder einen Tipp gefunden. Hier ist ein bisschen von meinem Code:
Code: Alles auswählen
class MainWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title = "Calculator")
self.set_size_request(100,100)
vbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=6)
self.add(vbox)
self.entry = Gtk.Entry()
self.entry.set_text("")
vbox.pack_start(self.entry, True, True, 0)
vbox2 = Gtk.Box(orientation = Gtk.Orientation.HORIZONTAL, spacing= 6)
self.add(vbox2)
button1 = Gtk.Button(label="1")
button1.connect("clicked", self.button1_clicked)
vbox.pack_start(button1, True, True, 0)
vbox.pack_end(button1, True, True, 0)
self.add(button1)
button2 = Gtk.Button(label="2")
button2.connect("clicked", self.button2_clicked)
vbox.pack_start(button2, True, True, 0)
vbox.pack_end(button2, True, True, 0)
self.add(button2)
button3 = Gtk.Button(label="3")
button3.connect("clicked", self.button3_clicked)
vbox.pack_start(button3, True, True, 0)
vbox.pack_end(button3, True, True, 0)
self.add(button3)
button4 = Gtk.Button(label="4")
button4.connect("clicked", self.button4_clicked)
vbox.pack_start(button4, True, True, 0)
vbox.pack_end(button4, True, True, 0)
self.add(button4)
button3 = Gtk.Button(label="+")
button3.connect("clicked", self.button3_clicked)
vbox.pack_start(button3, True, True, 0)
vbox.pack_end(button3, True, True, 0)
self.add(button3)
button4 = Gtk.Button(label="=")
button4.connect("clicked", self.button4_clicked)
vbox.pack_start(button4, True, True, 0)
vbox.pack_end(button4, True, True, 0)
self.add(button4)
button7 = Gtk.Button(label="*")
button7.connect("clicked", self.button7_clicked)
vbox.pack_start(button7, True, True, 0)
vbox.pack_end(button7, True, True, 0)
self.add(button7)
button8 = Gtk.Button(label="/")
button8.connect("clicked", self.button8_clicked)
vbox.pack_start(button8, True, True, 0)
vbox.pack_end(button8, True, True, 0)
self.add(button8)
def button1_clicked(self, widget):
self.entry.set_text(self.entry.get_text() + str(1))
def button2_clicked(self, widget):
self.entry.set_text(self.entry.get_text() + str(2))
Mfg
Rise Blink