কম্পিউটার

পাইথনে Tkinter ব্যবহার করে সহজ GUI ক্যালকুলেটর


এই টিউটোরিয়ালে, আমরা Tkinter ব্যবহার করে একটি সাধারণ GUI ক্যালকুলেটর তৈরি করতে যাচ্ছি। মডিউল টিকিন্টার GUI অ্যাপ্লিকেশন বিকাশের জন্য পাইথন মডিউলে নির্মিত। এটি ব্যবহার করা সহজ এবং পাইথনের সাথে আসে। আমরা GUI অ্যাপ্লিকেশনের মাধ্যমে আমাদের ডেটা কল্পনা করতে পারি।

চলুন দেখি কিভাবে একটি সাধারণ GUI ক্যালকুলেটর তৈরি করা যায়।

  • Tkinter থেকে সবকিছু আমদানি করুন * ব্যবহার করে।

  • ক্যালকুলেটরের জন্য একটি ইন্টারফেস তৈরি করুন।

  • একটি ইনপুট ফাংশন তৈরি করুন যা ইনপুট ক্ষেত্রে একটি সংখ্যা প্রবেশ করে।

  • একটি আপাত ফাংশন তৈরি করুন যা ইনপুট ক্ষেত্র থেকে সবকিছু মুছে দেয়।

  • এবং অবশেষে, ফাংশন মূল্যায়ন করুন যা গণনা করে এবং অভিব্যক্তির ফলাফল দেয়।

উদাহরণ

# importing everyting from tkinter
from tkinter import *
# expression to access among all the functions
expression = ""
# functions
def input_number(number, equation):
   # accessing the global expression variable
   global expression
   # concatenation of string
   expression = expression + str(number)
   equation.set(expression)
def clear_input_field(equation):
   global expression
   expression = ""
   # setting empty string in the input field
   equation.set("Enter the expression")
def evaluate(equation):
global expression
# trying to evaluate the expression
try:
result = str(eval(expression))
# showing the result in the input field
equation.set(result)
# setting expression to empty string
expression = ""
except:
# some error occured
# showing it to the user equation.set("Enter a valid expression")
expression = ""
# creating the GUI
def main():
   # main window window = Tk()
   # setting the title of GUI window
   window.title("Calculator")
   # set the configuration of GUI window
   window.geometry("325x175")
   # varible class instantiation
   equation = StringVar()
   # input field for the expression
   input_field = Entry(window, textvariable=equation)
   input_field.place(height=100)
   # we are using grid position
   # for the arrangement of the widgets
   input_field.grid(columnspan=4, ipadx=100, ipady=5)
   # settin the placeholder message for users
   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)
   # showing the GUI
   window.mainloop()
# start of the program
if __name__ == '__main__':
      main()

আউটপুট

আপনি যদি উপরের প্রোগ্রামটি চালান, তাহলে আপনি নিম্নরূপ একটি সাধারণ ক্যালকুলেটর পাবেন।

পাইথনে Tkinter ব্যবহার করে সহজ GUI ক্যালকুলেটর

উপরের এক্সপ্রেশনের ফলাফল প্রেসেশন =বোতাম।

পরে জেনারেট হয়েছে

পাইথনে Tkinter ব্যবহার করে সহজ GUI ক্যালকুলেটর

উপসংহার

টিউটোরিয়ালটিতে আপনার কোন সন্দেহ থাকলে, মন্তব্য বিভাগে উল্লেখ করুন।


  1. পাইথনে Tkinter প্রোগ্রামিং

  2. Python Tkinter ব্যবহার করে সহজ রেজিস্ট্রেশন ফর্ম

  3. পাইথনে Tkinter ব্যবহার করে রঙিন খেলা

  4. পাইথনে CX_Freeze ব্যবহার করা