কম্পিউটার টিউটোরিয়াল

Tkinter-এ বাটন টেক্সট ডাইনামিক্যালি রিসাইজ করা

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

এই উদাহরণে দুটি বাটন কিছু লেবেলসহ তৈরি করা হবে। Grid মেথড যেমন rowconfigure() এবং columnconfigure() ব্যবহার করে মেইন উইন্ডো বা রুট ডাইনামিক্যালি রিসাইজ করা হবে।

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

প্রথমে বাটন টেক্সট বিডথ অনুযায়ী রিসাইজ করব, তারপর হাইট অনুযায়ী।

উদাহরণ

from tkinter import *

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

# ডাইনামিক্যালি উইন্ডো এবং উইজেট রিসাইজ
Grid.rowconfigure(win, index=0, weight=1)
Grid.columnconfigure(win, index=0, weight=1)

# বাটন টেক্সট সাইজ পরিবর্তন করার ফাংশন
def resize(e):
    # বাটনের বিডথ পাওয়া
    w = e.width / 10
    # ডাইনামিক্যালি বাটন টেক্সট রিসাইজ
    b.config(font=("Times New Roman", int(w)))
    # হাইট রিসাইজ
    if e.height <= 300:
        b.config(font=("Times New Roman", 30))
    elif e.height < 100:
        b.config(font=("Time New Roman", 10))

# বাটন তৈরি
b = Button(win, text="Python")
b.grid(row=0, column=0, sticky="nsew")

win.bind('', resize)
win.mainloop()

আউটপুট

উপরের কোড রান করলে "Python" টেক্সটসহ একটি বাটন তৈরি হবে যা ডাইনামিক্যালি রিসাইজ করা যাবে।

Tkinter-এ বাটন টেক্সট ডাইনামিক্যালি রিসাইজ করা

  1. টকিন্টার পাইথনে টুলটিপস ডিসপ্লে করা

  2. টকিন্টার পাইথনে টেক্সট উইজেটে স্ক্রোলবার অ্যাটাচ করা

  3. টকিন্টার পাইথনে বাটন চাপলে উইন্ডো বন্ধ করা

  4. Tkinter-এ ইমেজকে বাটন হিসেবে ব্যবহার করা