GUI Programming

إتقان أزرار الاختيار في Tkinter: دليل شامل

Spread the love

يوفر عنصر واجهة المستخدم Radiobutton في Tkinter طريقة سهلة الاستخدام لعرض مجموعة من الخيارات المتبادلة. يستكشف هذا البرنامج التعليمي وظائفه، ويرشدك إلى إنشاء وتخصيص والاستجابة لاختيارات المستخدم.

جدول المحتويات:

  1. إنشاء أزرار الاختيار
  2. استرجاع القيم المحددة
  3. تخصيص المظهر
  4. استخدام دوال الاستدعاء

1. إنشاء أزرار الاختيار

لإنشاء أزرار اختيار، يجب ربط كل منها بمتغير مشترك (عادةً StringVar). هذا يضمن أنه يمكن تحديد زر واحد فقط ضمن المجموعة في كل مرة. إليك كيفية إنشاء مجموعة أساسية:


import tkinter as tk

root = tk.Tk()
root.title("مثال على زر الاختيار في Tkinter")

selected_option = tk.StringVar(value="الخيار أ")

radio_button_a = tk.Radiobutton(root, text="الخيار أ", variable=selected_option, value="الخيار أ")
radio_button_a.pack(anchor=tk.W)

radio_button_b = tk.Radiobutton(root, text="الخيار ب", variable=selected_option, value="الخيار ب")
radio_button_b.pack(anchor=tk.W)

radio_button_c = tk.Radiobutton(root, text="الخيار ج", variable=selected_option, value="الخيار ج")
radio_button_c.pack(anchor=tk.W)

root.mainloop()

يقوم هذا الكود بإنشاء ثلاثة أزرار اختيار. تربطهم الوسيطة variable، وتعيّن السمة value قيمة لاختيار كل زر.

2. استرجاع القيم المحددة

إن الوصول إلى القيمة المحددة أمر مباشر. ما عليك سوى استخدام طريقة get() على المتغير المشترك:


import tkinter as tk

root = tk.Tk()
root.title("الحصول على قيمة زر الاختيار")

selected_option = tk.StringVar(value="الخيار أ")

# ... (إنشاء زر الاختيار كما هو موضح أعلاه) ...

def get_selected():
    print(f"الخيار المحدد: {selected_option.get()}")

button = tk.Button(root, text="الحصول على القيمة", command=get_selected)
button.pack()

root.mainloop()

يضيف هذا المثال زرًا يطبع الخيار المحدد عند النقر عليه. تسترد طريقة get() القيمة الحالية لـ StringVar.

3. تخصيص المظهر

يمكنك تعديل الجوانب المرئية لزر الاختيار. على سبيل المثال، يتحكم الخيار indicatoron في ظهور المؤشر، ويغيّر selectcolor اللون عند التحديد:


import tkinter as tk

root = tk.Tk()
root.title("تخصيص مظهر زر الاختيار")

selected_option = tk.StringVar(value="الخيار أ")

radio_button_a = tk.Radiobutton(root, text="الخيار أ", variable=selected_option, value="الخيار أ", indicatoron=False, selectcolor="lightgreen")
radio_button_a.pack(anchor=tk.W)

radio_button_b = tk.Radiobutton(root, text="الخيار ب", variable=selected_option, value="الخيار ب", selectcolor="lightblue")
radio_button_b.pack(anchor=tk.W)

root.mainloop()

يُظهر هذا كيفية إخفاء المؤشر وتغيير لون التحديد. جرّب أنماطًا أخرى لتحقيق المظهر الذي تريده.

4. استخدام دوال الاستدعاء

من أجل نهج أنظف وأكثر استجابة، استخدم الخيار command لربط دالة مباشرة بكل زر اختيار:


import tkinter as tk

root = tk.Tk()
root.title("استدعاء زر الاختيار")

def option_selected():
    print(f"الخيار المحدد: {selected_option.get()}")

selected_option = tk.StringVar(value="الخيار أ")

radio_button_a = tk.Radiobutton(root, text="الخيار أ", variable=selected_option, value="الخيار أ", command=option_selected)
radio_button_a.pack(anchor=tk.W)

radio_button_b = tk.Radiobutton(root, text="الخيار ب", variable=selected_option, value="الخيار ب", command=option_selected)
radio_button_b.pack(anchor=tk.W)

root.mainloop()

تنفذ هذه الطريقة option_selected كلما تم تحديد زر، مما يوفر حلاً أكثر كفاءة وأناقة للتعامل مع تفاعلات المستخدم.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *