এই টিউটোরিয়ালে আমরা Tkinter মডিউল ব্যবহার করে একটি সিম্পল GUI ক্যালকুলেটর তৈরি করব। Tkinter পাইথনের বিল্ট-ইন মডিউল GUI অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য। এটি ব্যবহার করা সহজ এবং পাইথনের সাথে বিল্ট-ইন আসে। আমরা GUI অ্যাপ্লিকেশন দিয়ে আমাদের ডেটা ভিজুয়ালাইজ করতে পারি।
চলুন দেখি কিভাবে একটি সিম্পল GUI ক্যালকুলেটর তৈরি করা যায়।
- Tkinter- থেকে সব কিছু * দিয়ে ইম্পোর্ট করুন।
- ক্যালকুলেটর 위한 ইন্টারফেস তৈরি করুন।
- একটি ইনপুট ফাংশন তৈরি করুন যা ইনপুট ফিল্ডে সংখ্যা এন্টার করবে।
- একটি ক্লিয়ার ফাংশন তৈরি করুন যা ইনপুট ফিল্ড থেকে সব মুছে দেবে।
- এবং অবশেষে, একটি ইভ্যালুয়েট ফাংশন তৈরি করুন যা এক্সপ্রেশন ক্যালকুলেট করে রেজাল্ট দেবে।
উদাহরণ
# importing everything from tkinter
from tkinter import *
# expression to access among all the functions
expression = ""
# functions
def input_number(number, equation):
global expression
expression = expression + str(number)
equation.set(expression)
def clear_input_field(equation):
global expression
expression = ""
equation.set("Enter the expression")
def evaluate(equation):
global expression
try:
result = str(eval(expression))
equation.set(result)
expression = ""
except:
equation.set("Enter a valid expression")
expression = ""
# creating the GUI
def main():
window = Tk()
window.title("Calculator")
window.geometry("325x175")
equation = StringVar()
input_field = Entry(window, textvariable=equation)
input_field.place(height=100)
input_field.grid(columnspan=4, ipadx=100, ipady=5)
equation.set("Enter the expression")
# creating buttons and placing them at respective positions
_1 = Button(window, text='1', fg='white', bg='black', bd=0, command=lambda: input_number(1, equation), height=2, width=7)
_1.grid(row=2, column=0)
_2 = Button(window, text='2', fg='white', bg='black', bd=0, command=lambda: input_number(2, equation), height=2, width=7)
_2.grid(row=2, column=1)
_3 = Button(window, text='3', fg='white', bg='black', bd=0, command=lambda: input_number(3, equation), height=2, width=7)
_3.grid(row=2, column=2)
_4 = Button(window, text='4', fg='white', bg='black', bd=0, command=lambda: input_number(4, equation), height=2, width=7)
_4.grid(row=3, column=0)
_5 = Button(window, text='5', fg='white', bg='black', bd=0, command=lambda: input_number(5, equation), height=2, width=7)
_5.grid(row=3, column=1)
_6 = Button(window, text='6', fg='white', bg='black', bd=0, command=lambda: input_number(6, equation), height=2, width=7)
_6.grid(row=3, column=2)
_7 = Button(window, text='7', fg='white', bg='black', bd=0, command=lambda: input_number(7, equation), height=2, width=7)
_7.grid(row=4, column=0)
_8 = Button(window, text='8', fg='white', bg='black', bd=0, command=lambda: input_number(8, equation), height=2, width=7)
_8.grid(row=4, column=1)
_9 = Button(window, text='9', fg='white', bg='black', bd=0, command=lambda: input_number(9, equation), height=2, width=7)
_9.grid(row=4, column=2)
_0 = Button(window, text='0', fg='white', bg='black', bd=0, command=lambda: input_number(0, equation), height=2, width=7)
_0.grid(row=5, column=0)
plus = Button(window, text='+', fg='white', bg='black', bd=0, command=lambda: input_number('+', equation), height=2, width=7)
plus.grid(row=2, column=3)
minus = Button(window, text='-', fg='white', bg='black', bd=0, command=lambda: input_number('-', equation), height=2, width=7)
minus.grid(row=3, column=3)
multiply = Button(window, text='*', fg='white', bg='black', bd=0, command=lambda: input_number('*', equation), height=2, width=7)
multiply.grid(row=4, column=3)
divide = Button(window, text='/', fg='white', bg='black', bd=0, command=lambda: input_number('/', equation), height=2, width=7)
divide.grid(row=5, column=3)
equal = Button(window, text='=', fg='white', bg='black', bd=0, command=lambda: evaluate(equation), height=2, width=7)
equal.grid(row=5, column=2)
clear = Button(window, text='Clear', fg='white', bg='black', bd=0, command=lambda: clear_input_field(equation), height=2, width=7)
clear.grid(row=5, column=1)
window.mainloop()
# start of the program
if __name__ == '__main__':
main()
আউটপুট
যদি উপরের প্রোগ্রামটি রান করুন, তবে নিচের মতো একটি সিম্পল ক্যালকুলেটর পাবেন।

= বাটন প্রেস করার পর এক্সপ্রেশনের রেজাল্ট।

উপসংহার
টিউটোরিয়াল সম্পর্কে কোনো সন্দেহ থাকলে কমেন্ট সেকশনে জানান।