Answer the question
In order to leave comments, you need to log in
How to add line cleaning to the calculator? Python, framework kivy?
How to add an AC button, as happens in calculators to clear the line?
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.config import Config
Config.set('graphics', 'resizable', 0)
Config.set('graphics', 'width', 350)
Config.set('graphics', 'height', 500)
class CalculatorApp(App):
def update_label(self):
self.lbl.text = self.formula
def clear(instance, self):
self.formula = 0
def add_number(self, instance):
if( self.formula == "0" ):
self.formula = ""
self.formula += str(instance.text)
self.update_label()
def add_operation(self, instance):
self.formula += str(instance.text)
self.update_label()
def calc_result(self, instance):
self.lbl.text = str(eval(self.lbl.text))
self.formula = "0"
def build(self):
self.formula = "0"
bl = BoxLayout(orientation = 'vertical', padding=10)
gl = GridLayout(cols = 4, spacing=3, size_hint = (1, .6))
self.lbl = Label(text="0", font_size=40, halign="right", valign="center", size_hint=(1, .4), text_size=(375 - 50, 500 * .4 - 75))
bl.add_widget( self.lbl )
gl.add_widget( Button(text="7", font_size=18, on_press = self.add_number) )
gl.add_widget( Button(text="8", font_size=18, on_press = self.add_number) )
gl.add_widget( Button(text="9", font_size=18, on_press = self.add_number) )
gl.add_widget( Button(text="*", font_size=18, on_press = self.add_operation) )
gl.add_widget( Button(text="4", font_size=18, on_press = self.add_number) )
gl.add_widget( Button(text="5", font_size=18, on_press = self.add_number) )
gl.add_widget( Button(text="6", font_size=18, on_press = self.add_number) )
gl.add_widget( Button(text="-", font_size=18, on_press = self.add_operation) )
gl.add_widget( Button(text="1", font_size=18, on_press = self.add_number) )
gl.add_widget( Button(text="2", font_size=18, on_press = self.add_number) )
gl.add_widget( Button(text="3", font_size=18, on_press = self.add_number) )
gl.add_widget( Button(text="+", font_size=18, on_press = self.add_operation) )
gl.add_widget( Button(text="/", font_size=18, on_press = self.add_operation) )
gl.add_widget( Button(text="0", font_size=18, on_press = self.add_number) )
gl.add_widget( Button(text=".", font_size=18, on_press = self.add_number) )
gl.add_widget( Button(text="=", font_size=18, on_press = self.calc_result) )
bl.add_widget( gl )
return bl
if __name__ == "__main__":
CalculatorApp().run()
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question