نتعلم من هذا الدرس كيفية استخدام Radiobutton لإنشاء مجموعة اختيارات حصرية (أي يمكن اختيار خيار واحد فقط من مجموعة).
🧱 ما هو Radiobutton؟
هو عنصر واجهة رسومية يُستخدم عندما:
- نحتاج من المستخدم اختيار أحد الخيارات فقط.
- يشبه
Checkbutton، لكن يختار واحد فقط بدلاً من عدة خيارات.
🧱 الصيغة الأساسية:
radiobtn = tk.Radiobutton(root, text="الخيار", variable=var, value="قيمة")
text: عنوان الزر.variable: متغير مشترك بين جميع الأزرار.value: القيمة التي يمثلها هذا الزر إذا تم اختياره.
✅ مثال عملي:
import tkinter as tk
def عرض_الاختيار():
الاختيار = var.get()
label.config(text=f"اخترت: {الاختيار}")
# إنشاء النافذة
window = tk.Tk()
window.title("Radiobutton مثال")
window.geometry("300x200")
# متغير مشترك بين جميع الأزرار
var = tk.StringVar()
var.set("لا شيء") # قيمة افتراضية
# خيارات
tk.Radiobutton(window, text="قهوة", variable=var, value="قهوة", command=عرض_الاختيار).pack(anchor="w")
tk.Radiobutton(window, text="شاي", variable=var, value="شاي", command=عرض_الاختيار).pack(anchor="w")
tk.Radiobutton(window, text="عصير", variable=var, value="عصير", command=عرض_الاختيار).pack(anchor="w")
# تسمية لعرض الاختيار
label = tk.Label(window, text="اختر مشروبك:")
label.pack(pady=10)
window.mainloop()
📌 ملخص سريع:
| الخاصية | الاستخدام |
|---|---|
variable |
متغير مشترك بين الأزرار |
value |
القيمة التي يحددها كل زر |
get() |
جلب القيمة المحددة |
command |
يتم استدعاؤها عند التغيير |
✅ التمرين: "اختيار طريقة الدفع"
🎯 المطلوب:
- أنشئ نافذة تحتوي على ثلاث خيارات دفع باستخدام Radiobutton:
- بطاقة ائتمان 💳
- PayPal 💰
- الدفع عند الاستلام 🧾
- أضف زرًا مكتوبًا عليه "تأكيد الطلب".
- عند الضغط على الزر، يتم طباعة طريقة الدفع المختارة في الطرفية.
🧾 الحل الكامل:
import tkinter as tk
def تأكيد_الدفع():
الطريقة = payment_var.get()
if الطريقة:
print(f"✅ تم اختيار طريقة الدفع: {الطريقة}")
else:
print("❌ لم يتم اختيار أي طريقة دفع.")
# إنشاء النافذة
window = tk.Tk()
window.title("اختيار طريقة الدفع")
window.geometry("350x250")
# المتغير المشترك
payment_var = tk.StringVar()
payment_var.set("") # لا شيء محدد افتراضياً
# خيارات الدفع
tk.Label(window, text="اختر طريقة الدفع:", font=("Arial", 12)).pack(pady=10)
tk.Radiobutton(window, text="💳 بطاقة ائتمان", variable=payment_var, value="بطاقة ائتمان").pack(anchor="w", padx=20)
tk.Radiobutton(window, text="💰 PayPal", variable=payment_var, value="PayPal").pack(anchor="w", padx=20)
tk.Radiobutton(window, text="🧾 الدفع عند الاستلام", variable=payment_var, value="الدفع عند الاستلام").pack(anchor="w", padx=20)
# زر التأكيد
tk.Button(window, text="تأكيد الطلب", command=تأكيد_الدفع).pack(pady=20)
window.mainloop()
💡 ما تتعلمه من التمرين:
| العنصر | الغرض |
|---|---|
Radiobutton |
يسمح باختيار خيار واحد فقط من عدة خيارات |
StringVar() |
تخزين القيمة المختارة |
get() |
معرفة الخيار المحدد |
command |
تنفيذ إجراء عند الضغط |

