Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. from tkinter import *
  2. from tkinter.messagebox import *
  3.  
  4. class Calculator(Frame):
  5. def __init__(self, t):
  6. self.t = t
  7. super().__init__(self.t)
  8.  
  9. self.t.title('Calculator')
  10. self.grid(rows=4, columns=4, padx=20, pady=20)
  11.  
  12. self.start_interface()
  13.  
  14. def start_interface(self):
  15. font = ('Calibri', 20, 'normal')
  16.  
  17. self.a_val = StringVar('')
  18. self.a = Entry(self, font=font, textvariable=self.a_val)
  19. self.a.grid(row=1, column=1, columnspan=2)
  20.  
  21. self.b_val = StringVar('')
  22. self.b = Entry(self, font=font, textvariable=self.b_val)
  23. self.b.grid(row=1, column=3, columnspan=2)
  24.  
  25. self.button_plus = Button(self, text="+", command=lambda: self.calc('+'))
  26. self.button_plus.grid(row=2, column=1)
  27.  
  28. self.button_minus = Button(self, text="-", command=lambda: self.calc('-'))
  29. self.button_minus.grid(row=2, column=2)
  30.  
  31. self.button_mult = Button(self, text="*", command=lambda: self.calc('*'))
  32. self.button_mult.grid(row=2, column=3)
  33.  
  34. self.button_div = Button(self, text="/", command=lambda: self.calc('/'))
  35. self.button_div.grid(row=2, column=4)
  36.  
  37. self.output_text = StringVar()
  38. self.output = Label(self, textvariable=self.output_text, font=font)
  39. self.output.grid(row=3, column=1, columnspan=4)
  40.  
  41. # https://pastebin.com/0b2qLxjM
  42.  
  43. def calc(self, operation):
  44. try:
  45. a = int(self.a_val.get())
  46. b = int(self.b_val.get())
  47. c = 0
  48. if operation == '+':
  49. c = a + b
  50. elif operation == '-':
  51. c = a - b
  52. elif operation == '*':
  53. c = a * b
  54. else:
  55. c = a / b
  56. self.output_text.set(str(c))
  57. except ValueError:
  58. showinfo('Error', 'Majmune to nije broj')
  59. except ZeroDivisionError:
  60. showinfo('Error', 'Ne mozes dijeliti sa 0')
  61.  
  62.  
  63. calc = Calculator(Tk())
  64. mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement