কম্পিউটার

টিকিন্টারে কীভাবে গতিশীলভাবে বোতামের পাঠ্যের আকার পরিবর্তন করবেন?


ধরুন আমরা Tkinter ফ্রেমে একটি বোতাম এবং একটি লেবেল তৈরি করেছি৷ কাজটি হল বোতাম পাঠ্যকে গতিশীলভাবে তার প্রধান উইন্ডোতে আকার পরিবর্তন করার অনুমতি দেওয়া। আমরা একটি বোতাম উইজেট ব্যবহার করে বোতাম তৈরি করতে পারি . যাইহোক, গতিশীলভাবে বোতাম লেবেল তৈরি করতে ব্যবহৃত অন্যান্য বেশ কিছু ফাংশন রয়েছে।

এই উদাহরণে, আমরা কিছু লেবেল সহ দুটি বোতাম তৈরি করব। গ্রিড পদ্ধতি ব্যবহার করে যেমন rowconfigure() এবং কলাম কনফিগার() , আমরা গতিশীলভাবে মূল উইন্ডো বা রুটের আকার পরিবর্তন করব।

বোতাম পাঠ্যকে গতিশীল করতে, আমরা bind(, command) ব্যবহার করব পদ্ধতি যা আমাদের ফাংশন এবং পদ্ধতি একসাথে আবদ্ধ করতে সাহায্য করবে। আমরা একটি কলব্যাক ফাংশন পাস করতে পারি যা সাধারণত উইজেটের নতুন অবস্থান এবং একটি হেল্পার ফাংশনকে বোঝায় যা উইন্ডোর আকার অনুযায়ী বোতামের পাঠ্যের পরিবর্তনগুলিকে সংশোধন করে।

প্রথমে, আমরা বোতামের টেক্সট এর প্রস্থ এবং তারপর তার উচ্চতা দ্বারা রিসাইজ করব।

উদাহরণ

from tkinter import *

win= Tk()
win.geometry("700x300")

#Dynamically resize the window and its widget

Grid.rowconfigure(win, index=0, weight=1)
Grid.columnconfigure(win, index=0, weight=1)

#Define the function to change the size of the button text
def resize(e):
   #Get the width of the button
   w= e.width/10
   #Dynamically Resize the Button Text
   b.config(font=("Times New Roman",int(w)))
   #Resize the height
   if e.height <=300:
      b.config(font= ("Times New Roman",30))
   elif e.height<100:
      b.config(font= ("Time New Roman", 10))
#Let us Create buttons,

b=Button(win,text="Python")
b.grid(row= 0, column=0, sticky= "nsew")

win.bind('<Configure>', resize)
win.mainloop()

আউটপুট

উপরের কোডটি চালানোর ফলে "পাইথন" পাঠ্য সহ একটি বোতাম তৈরি হবে এবং এই বোতামটি গতিশীলভাবে আকার পরিবর্তন করা যেতে পারে৷

টিকিন্টারে কীভাবে গতিশীলভাবে বোতামের পাঠ্যের আকার পরিবর্তন করবেন?


  1. আমি কিভাবে Tkinter এ টুলটিপ প্রদর্শন করব?

  2. Tkinter-এ কিভাবে একটি টেক্সট উইজেটে একটি স্ক্রলবার সংযুক্ত করবেন?

  3. কিভাবে একটি বোতাম টিপে একটি Tkinter উইন্ডো বন্ধ করবেন?

  4. Tkinter এ একটি বোতাম হিসাবে একটি ছবি কিভাবে ব্যবহার করবেন?