পাইথনে tkinter হল একটি GUI লাইব্রেরি যা বিভিন্ন GUI প্রোগ্রামিংয়ের জন্য ব্যবহার করা যেতে পারে। এই ধরনের অ্যাপ্লিকেশন ডেস্কটপ অ্যাপ্লিকেশন তৈরি করতে দরকারী। এই নিবন্ধে আমরা বাইন্ডিং ফাংশন নামক GUI প্রোগ্রামিংয়ের একটি দিক দেখব। এটি ইভেন্টগুলিকে ফাংশন এবং পদ্ধতিতে বাঁধাই করার বিষয়ে যাতে ইভেন্টটি ঘটলে সেই নির্দিষ্ট ফাংশনটি কার্যকর হয়৷
বাইন্ডিং কীবোর্ড ইভেন্ট
নীচের উদাহরণে আমরা কীবোর্ড থেকে যে কোনও কী চাপলে একটি ফাংশন দিয়ে আবদ্ধ করি যা কার্যকর হয়। একবার Tkinter GUI উইন্ডোটি খোলা হলে, আমরা কীবোর্ডের যেকোনো কী টিপতে পারি এবং আমরা একটি বার্তা পাই যে কীবোর্ড টিপানো হয়েছে৷
উদাহরণ
from tkinter import * # Press a buton in keyboard def PressAnyKey(label): value = label.char print(value, ' A button is pressed') base = Tk() base.geometry('300x150') base.bind('<Key>', lambda i : PressAnyKey(i)) mainloop()
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
বাইন্ডিং মাউস ক্লিক ইভেন্ট
নীচের উদাহরণে আমরা দেখব কিভাবে একটি ফাংশন কলে tkinter উইন্ডোতে মাউস ক্লিক ইভেন্টগুলিকে আবদ্ধ করতে হয়। নীচের উদাহরণে আমরা ইভেন্টগুলিকে বাম-বোতামে ডাবল ক্লিক, ডান বোতামে ক্লিক এবং স্ক্রোল-বোতাম ক্লিক টিকিন্টার ক্যানভাসে অবস্থান প্রদর্শন করতে বলি যেখানে বোতামগুলি ক্লিক করা হয়েছিল৷
উদাহরণ
from tkinter import * from tkinter.ttk import * # creates tkinter window or root window base = Tk() base.geometry('300x150') # Press the scroll button in the mouse then function will be called def scroll(label): print('Scroll button clicked at x = % d, y = % d'%(label.x, label.y)) # Press the right button in the mouse then function will be called def right_click(label): print('right button clicked at x = % d, y = % d'%(label.x, label.y)) # Press the left button twice in the mouse then function will be called def left_click(label): print('Double clicked left button at x = % d, y = % d'%(label.x, label.y)) Function = Frame(base, height = 100, width = 200) Function.bind('<Button-2>', scroll) Function.bind('<Button-3>', right_click) Function.bind('<Double 1>', left_click) Function.pack() mainloop()
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -