الهدف من الدرس تعلم كيفية استخدام أزرار Radiobutton التي تسمح للمستخدم باختيار خيار واحد فقط من عدة خيارات.
🧩 ما هو Radiobutton؟
هو عنصر واجهة رسومية يسمح باختيار خيار واحد فقط من بين عدة خيارات. يتم ربط جميع الأزرار بمتغير واحد (عادة من نوع tk.StringVar
أو tk.IntVar
)، ويكون هذا المتغير هو الذي يحتوي على القيمة المختارة.
🛠️ مثال تطبيقي:
📌 برنامج لاختيار الجنس (ذكر أو أنثى):
import tkinter as tk
def عرض_الاختيار():
النتيجة.config(text=f"أنت اخترت: {القيمة.get()}")
# نافذة التطبيق
root = tk.Tk()
root.title("اختيار الجنس")
root.geometry("300x200")
# متغير مرتبط بالأزرار
القيمة = tk.StringVar()
القيمة.set("ذكر") # اختيار افتراضي
# عناوين الأزرار
tk.Label(root, text="اختر جنسك:").pack(pady=10)
# أزرار Radio
tk.Radiobutton(root, text="ذكر", variable=القيمة, value="ذكر").pack()
tk.Radiobutton(root, text="أنثى", variable=القيمة, value="أنثى").pack()
# زر لعرض الاختيار
tk.Button(root, text="عرض الاختيار", command=عرض_الاختيار).pack(pady=10)
# النتيجة
النتيجة = tk.Label(root, text="", fg="blue")
النتيجة.pack()
root.mainloop()
🔍 شرح الكود:
StringVar()
: متغير يخزن القيمة المختارة.Radiobutton(...)
: ينشئ زر اختيار ويحدد القيمة الخاصة به، ويربطه بالمتغير.value="ذكر"
مثلاً تعني أن هذا الزر يمثل "ذكر"، وإذا تم اختياره، سيتم تخزين "ذكر" في المتغير.- عند الضغط على الزر "عرض الاختيار"، يتم طباعة القيمة المختارة في عنصر
Label
.
🧠 ملاحظات:
- Radiobutton مفيد في النماذج التي تطلب اختيار جنس، نوع حساب، أو تصنيف معين.
- إذا أردت استخدام أزرار اختيار بالأرقام، يمكن ربطها بـ
IntVar()
بدلًا منStringVar()
.
🎯 التمرين: برنامج لاختيار لغة البرمجة المفضلة
📝 المطلوب:
أنشئ واجهة تسمح للمستخدم باختيار لغة البرمجة المفضلة لديه من بين:
- Python
- JavaScript
- Java
- C++
ثم اعرض اختيار المستخدم في تسمية (Label) عند الضغط على زر "عرض النتيجة".
✅ الحل:
import tkinter as tk
def عرض_النتيجة():
النتيجة.config(text=f"لغتك المفضلة هي: {اللغة.get()}")
# نافذة التطبيق
root = tk.Tk()
root.title("اختيار لغة البرمجة")
root.geometry("300x250")
# المتغير المرتبط بالأزرار
اللغة = tk.StringVar()
اللغة.set("Python") # القيمة الافتراضية
# عنوان
tk.Label(root, text="اختر لغتك المفضلة:", font=("Arial", 12)).pack(pady=10)
# أزرار Radiobutton
tk.Radiobutton(root, text="Python", variable=اللغة, value="Python").pack(anchor="w")
tk.Radiobutton(root, text="JavaScript", variable=اللغة, value="JavaScript").pack(anchor="w")
tk.Radiobutton(root, text="Java", variable=اللغة, value="Java").pack(anchor="w")
tk.Radiobutton(root, text="C++", variable=اللغة, value="C++").pack(anchor="w")
# زر لعرض النتيجة
tk.Button(root, text="عرض النتيجة", command=عرض_النتيجة).pack(pady=10)
# التسمية لعرض النتيجة
النتيجة = tk.Label(root, text="", fg="green", font=("Arial", 10))
النتيجة.pack()
root.mainloop()
🖼️ النتيجة المتوقعة:
واجهة تحتوي على قائمة أزرار لاختيار لغة برمجة واحدة، وزر لعرض النتيجة، وستظهر العبارة مثل:
لغتك المفضلة هي: Python
0 تعليقات