Please if you like my content Please do not forget to support this channel on PayPal now for $1 only! Or less
import kivy
from kivy.app import App
from kivy.properties import NumericProperty, StringProperty
from kivy.uix.gridlayout import GridLayout
class MainWidget(GridLayout):
textnumber = StringProperty()
addnumber = NumericProperty()
nextnumber = NumericProperty()
def zero(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str('0')
def one(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str('1')
def two(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str('2')
def three(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str('3')
def four(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str('4')
def five(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str('5')
def six(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str('6')
def seven(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str('7')
def eight(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str('8')
def nine(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str('9')
def decimal(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str('.')
def division(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str(' / ')
def addition(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str('+')
def subtraction(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str(' - ')
def multiplication(self):
if self.textnumber == "INVALID OPERATION":
self.textnumber = str('')
else:
self.textnumber += str(' * ')
def restart(self):
self.textnumber = str('')
def equal(self):
try:
number = str(eval(self.textnumber))
self.textnumber = str(number)
print(number)
except SyntaxError:
self.textnumber = str("INVALID OPERATION")
# we are defining the Base Class of our Kivy App
class myApp(App):
def build(self):
# return a MainWidget() as a root widget
return MainWidget()
if __name__ == '__main__':
# Here the class MyApp is initialized
# and its run() method called.
myApp().run()
KV FILE
# my.kv file code here
<MainWidget>:
rows: 5
cols: 4
Label:
size_hint: .2,.1
Label:
text: root.textnumber
size_hint: .2,.1
font_size: (self.height/15)* 3
Label:
text:
size_hint: .2,.1
Button:
text: 'C'
size_hint: .2,.1
on_press: root.restart()
Button:
text: '1'
size_hint: .2,.1
on_press: root.one()
Button:
text: '2'
size_hint: .2,.1
on_press: root.two()
Button:
text: '3'
size_hint: .2,.1
on_press: root.three()
Button:
text: '+'
size_hint: .2,.1
on_press: root.addition()
Button:
text: '4'
size_hint: .2,.1
on_press: root.four()
Button:
text: '5'
size_hint: .2,.1
on_press: root.five()
Button:
text: '6'
size_hint: .2,.1
on_press: root.six()
Button:
text: '-'
size_hint: .2,.1
on_press: root.subtraction()
Button:
text: '7'
size_hint: .2,.1
on_press: root.seven()
Button:
text: '8'
size_hint: .2,.1
on_press: root.eight()
Button:
text: '9'
size_hint: .2,.1
on_press: root.nine()
Button:
text: 'X'
size_hint: .2,.1
on_press: root.multiplication()
Button:
text: '.'
size_hint: .2,.1
on_press: root.decimal()
Button:
text: '0'
size_hint: .2,.1
on_press: root.zero()
Button:
text: '/'
size_hint: .2,.1
on_press: root.division()
Button:
text: '='
size_hint: .2,.1
on_press: root.equal()
No comments:
Post a Comment