Advertisement
DeukausGames

Calculadora

Nov 12th, 2018
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.45 KB | None | 0 0
  1. #calculadora Tkinter
  2. #feito por deukaus
  3.  
  4. from tkinter import *
  5. from tkinter import ttk
  6.  
  7. class Calculadora:
  8.     def __init__(self, janela):
  9.         """ <head> """
  10.         janela.title('Calculadora')
  11.         janela['bg'] = 'white'
  12.         """ </head> """
  13.         self.entry1msg = StringVar()
  14.         self.mensagem = ''
  15.  
  16.         self.entry1 = Entry(janela, font='bold 20 bold', bg='white', width=16, justify='right', relief='sunken', textvariable = self.entry1msg)
  17.         self.entry1.grid(column=0,row=0, columnspan=4)
  18.  
  19.         self.button1 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text='(', fg='black', width = 3,height=1, command=self.pareleft)
  20.         self.button1.grid(column='0', row='1')
  21.  
  22.         self.button2 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text=')', fg='black', width = 3, height=1, command=self.pareright)
  23.         self.button2.grid(column='1', row='1')
  24.  
  25.         self.button3 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '%', fg='black', width = 3, height=1, command=self.modd)
  26.         self.button3.grid(column="2", row="1")
  27.  
  28.         self.button4 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = 'C', fg = 'black',width = 3,height = 1, command=self.deletar)
  29.         self.button4.grid(column="3", row="1")
  30.  
  31.         self.btn_num1 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '1', fg = 'black', width = 3, height = 1, command=self.numero1)
  32.         self.btn_num1.grid(column='0', row='2')
  33.  
  34.         self.btn_num2 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '2', fg = 'black', width = 3, height = 1, command=self.numero2)
  35.         self.btn_num2.grid(column='1', row='2')
  36.  
  37.         self.btn_num3 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '3', fg = 'black', width = 3, height = 1, command=self.numero3)
  38.         self.btn_num3.grid(column='2', row='2')
  39.  
  40.         self.btn_num4 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '4', fg = 'black', width = 3, height = 1, command=self.numero4)
  41.         self.btn_num4.grid(column='0', row='3')
  42.  
  43.         self.btn_num5 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '5', fg = 'black', width = 3, height = 1, command=self.numero5)
  44.         self.btn_num5.grid(column='1', row='3')
  45.  
  46.         self.btn_num6 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '6', fg = 'black', width = 3, height = 1, command=self.numero6)
  47.         self.btn_num6.grid(column='2', row='3')
  48.  
  49.         self.btn_num7 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '7', fg = 'black', width = 3, height = 1, command=self.numero7)
  50.         self.btn_num7.grid(column='0', row='4')
  51.  
  52.         self.btn_num8 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '8', fg = 'black', width = 3, height = 1, command = self.numero8)
  53.         self.btn_num8.grid(column='1', row='4')
  54.  
  55.         self.btn_num9 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '9', fg = 'black', width = 3, height = 1, command = self.numero9)
  56.         self.btn_num9.grid(column='2', row='4')
  57.  
  58.         self.btn_div = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '/', fg = 'black', width = 3, height = 1, command = self.div)
  59.         self.btn_div.grid(column='3', row='2')
  60.  
  61.         self.btn_mult = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = 'x', fg = 'black', width = 3, height = 1, command = self.mult)
  62.         self.btn_mult.grid(column='3', row='3')
  63.  
  64.         self.btn_sub = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '-', fg = 'black', width = 3, height = 1, command = self.sub)
  65.         self.btn_sub.grid(column='3', row='4')
  66.  
  67.         self.btn_add = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '+', fg ='black', width = 3, height = 1, command = self.add)
  68.         self.btn_add.grid(column='3', row='5')
  69.  
  70.         self.btn_num0 = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '0', fg = 'black', width = 3, height = 1, command = self.numero0)
  71.         self.btn_num0.grid(column='0', row='5')
  72.  
  73.         self.btn_dot = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '.', fg = 'black', width = 3, height = 1, command = self.dot)
  74.         self.btn_dot.grid(column='1', row='5')
  75.  
  76.         self.btn_equal = Button(janela, font='bold 20 bold', bg='#E0E0E0', text = '=', fg = 'black', width = 3, height = 1, command = self.equal)
  77.         self.btn_equal.grid(column='2', row='5')
  78.        
  79.     def numero1(self):
  80.         self.mensagem = self.mensagem + '1'
  81.         self.entry1msg.set(self.mensagem)
  82.  
  83.     def numero2(self):
  84.         self.mensagem = self.mensagem + '2'
  85.         self.entry1msg.set(self.mensagem)
  86.  
  87.     def numero3(self):
  88.         self.mensagem = self.mensagem + '3'
  89.         self.entry1msg.set(self.mensagem)
  90.  
  91.     def numero4(self):
  92.         self.mensagem = self.mensagem + '4'
  93.         self.entry1msg.set(self.mensagem)
  94.  
  95.     def numero5(self):
  96.         self.mensagem = self.mensagem + '5'
  97.         self.entry1msg.set(self.mensagem)
  98.  
  99.     def numero6(self):
  100.         self.mensagem = self.mensagem + '6'
  101.         self.entry1msg.set(self.mensagem)
  102.  
  103.     def numero7(self):
  104.         self.mensagem = self.mensagem + '7'
  105.         self.entry1msg.set(self.mensagem)
  106.  
  107.     def numero8(self):
  108.         self.mensagem = self.mensagem + '8'
  109.         self.entry1msg.set(self.mensagem)
  110.  
  111.     def numero9(self):
  112.         self.mensagem = self.mensagem + '9'
  113.         self.entry1msg.set(self.mensagem)
  114.  
  115.     def numero0(self):
  116.         self.mensagem = self.mensagem + '0'
  117.         self.entry1msg.set(self.mensagem)
  118.  
  119.     def pareleft(self):
  120.         self.mensagem = self.mensagem + '('
  121.         self.entry1msg.set(self.mensagem)
  122.  
  123.     def pareright(self):
  124.         self.mensagem = self.mensagem + ')'
  125.         self.entry1msg.set(self.mensagem)
  126.    
  127.     def modd(self):
  128.         if self.mensagem[len(self.mensagem)-1] != '%' and self.mensagem[len(self.mensagem)-1] != '+' and self.mensagem[len(self.mensagem)-1] != '-' and self.mensagem[len(self.mensagem)-1] != '/' and self.mensagem[len(self.mensagem)-1] != '*':
  129.             self.mensagem = self.mensagem + '%'
  130.             self.entry1msg.set(self.mensagem)
  131.  
  132.     def deletar(self):
  133.         self.mensagem = self.mensagem[0:len(self.mensagem) - 1]
  134.         self.entry1msg.set(self.mensagem)
  135.  
  136.     def div(self):
  137.         if self.mensagem[len(self.mensagem)-1] != '%' and self.mensagem[len(self.mensagem)-1] != '+' and self.mensagem[len(self.mensagem)-1] != '-' and self.mensagem[len(self.mensagem)-1] != '/' and self.mensagem[len(self.mensagem)-1] != '*' and self.mensagem[len(self.mensagem)-1] != '.':
  138.             self.mensagem = self.mensagem + '/'
  139.             self.entry1msg.set(self.mensagem)
  140.  
  141.     def mult(self):
  142.         if self.mensagem[len(self.mensagem)-1] != '%' and self.mensagem[len(self.mensagem)-1] != '+' and self.mensagem[len(self.mensagem)-1] != '-' and self.mensagem[len(self.mensagem)-1] != '/' and self.mensagem[len(self.mensagem)-1] != '*' and self.mensagem[len(self.mensagem)-1] != '.':
  143.             self.mensagem = self.mensagem + '*'
  144.             self.entry1msg.set(self.mensagem)
  145.  
  146.     def sub(self):
  147.         if self.mensagem[len(self.mensagem)-1] != '%' and self.mensagem[len(self.mensagem)-1] != '+' and self.mensagem[len(self.mensagem)-1] != '-' and self.mensagem[len(self.mensagem)-1] != '/' and self.mensagem[len(self.mensagem)-1] != '*' and self.mensagem[len(self.mensagem)-1] != '.':
  148.             self.mensagem = self.mensagem + '-'
  149.             self.entry1msg.set(self.mensagem)
  150.  
  151.     def add(self):
  152.         if self.mensagem[len(self.mensagem)-1] != '%' and self.mensagem[len(self.mensagem)-1] != '+' and self.mensagem[len(self.mensagem)-1] != '-' and self.mensagem[len(self.mensagem)-1] != '/' and self.mensagem[len(self.mensagem)-1] != '*' and self.mensagem[len(self.mensagem)-1] != '.':
  153.             self.mensagem = self.mensagem + '+'
  154.             self.entry1msg.set(self.mensagem)
  155.  
  156.     def dot(self):
  157.         if self.mensagem[len(self.mensagem)-1] != '%' and self.mensagem[len(self.mensagem)-1] != '+' and self.mensagem[len(self.mensagem)-1] != '-' and self.mensagem[len(self.mensagem)-1] != '/' and self.mensagem[len(self.mensagem)-1] != '*' and self.mensagem[len(self.mensagem)-1] != '.':
  158.             self.mensagem = self.mensagem + '.'
  159.             self.entry1msg.set(self.mensagem)
  160.  
  161.     def equal(self):
  162.         try:
  163.             self.r = eval(self.mensagem)
  164.             self.mensagem = str(self.r)
  165.             self.entry1msg.set(self.mensagem)
  166.         except:
  167.             self.entry1msg.set('ERROR!!!')
  168.            
  169.  
  170. root = Tk()
  171. Calculadora(root)
  172. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement