Untitled
unknown
plain_text
2 years ago
3.1 kB
5
Indexable
import sys
try:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
except ImportError:
print('GTK not available')
sys.exit(1)
class Calculator:
def __init__(self):
self.builder = Gtk.Builder()
self.builder.add_from_file("calc.glade")
self.builder.connect_signals(self)
self.displayText = self.builder.get_object("display_text")
self.window = self.builder.get_object("calc_window")
def on_calc_window_destroy(self, widget):
Gtk.main_quit()
def on_Clear_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text[:-1])
def on_Zero_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "0")
def on_One_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "1")
def on_Two_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "2")
def on_Three_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "3")
def on_Four_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "4")
def on_Five_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "5")
def on_Six_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "6")
def on_Seven_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "7")
def on_Eight_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "8")
def on_Nine_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "9")
def on_Division_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "/")
def on_Multipilcation_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "*")
def on_Subtraction_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "-")
def on_Addition_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + "+")
def on_Dot_clicked(self, widget):
text = self.displayText.get_text()
self.displayText.set_text(text + ".")
def on_Result_clicked(self, widget):
text = self.displayText.get_text()
try:
result = eval(text)
self.displayText.set_text(str(result))
except:
self.displayText.set_text("error")
def run(self):
self.window.show_all()
Gtk.main()
if _name_ == "_main_":
calculator = Calculator()
calculator.run()Editor is loading...