📌 ما هي مربعات الاختيار؟
مربعات الاختيار (Checkbuttons) تُستخدم عندما تريد السماح للمستخدم بتحديد خيار واحد أو أكثر من مجموعة خيارات. على عكس أزرار التحديد (Radiobuttons)، يمكنك تحديد أكثر من خيار في الوقت نفسه.
🧱 الصيغة العامة لإنشاء Checkbutton:
check = tk.Checkbutton(window, text="اسم الخيار", variable=var)
text
: هو النص الظاهر بجانب المربع.variable
: هي متغير يتم ربطه بمربع الاختيار، من نوعIntVar()
أوBooleanVar()
.
🧪 مثال تطبيقي: اختيار الهوايات
import tkinter as tk
# إنشاء النافذة
window = tk.Tk()
window.title("اختر هواياتك")
window.geometry("300x200")
# تعريف المتغيرات المرتبطة بمربعات الاختيار
var1 = tk.IntVar()
var2 = tk.IntVar()
var3 = tk.IntVar()
# إنشاء مربعات الاختيار
check1 = tk.Checkbutton(window, text="القراءة", variable=var1)
check1.pack()
check2 = tk.Checkbutton(window, text="الرسم", variable=var2)
check2.pack()
check3 = tk.Checkbutton(window, text="البرمجة", variable=var3)
check3.pack()
# دالة الطباعة عند الضغط على الزر
def عرض_الاختيارات():
اختيارات = []
if var1.get():
اختيارات.append("القراءة")
if var2.get():
اختيارات.append("الرسم")
if var3.get():
اختيارات.append("البرمجة")
النتيجة = "لقد اخترت: " + ", ".join(اختيارات)
tk.messagebox.showinfo("النتيجة", النتيجة)
# زر لعرض الاختيارات
from tkinter import messagebox
tk.Button(window, text="عرض الاختيارات", command=عرض_الاختيارات).pack(pady=10)
window.mainloop()
✅ ما الذي تعلمته:
- كيفية استخدام
Checkbutton
. - كيفية ربط كل خيار بمتغير يمكن قراءته لاحقًا.
- جمع الخيارات المختارة باستخدام دالة شرطية.
✅ تمرين: برنامج اختيار اللغات التي تتحدثها
المطلوب: أنشئ برنامجًا باستخدام Tkinter يسمح للمستخدم باختيار اللغات التي يتحدثها من بين (العربية، الإنجليزية، الفرنسية). وعند الضغط على زر "عرض اللغات"، تظهر له رسالة تحتوي على اللغات التي اختارها.
💡 الحل المقترح:
import tkinter as tk
from tkinter import messagebox
# إنشاء النافذة الرئيسية
window = tk.Tk()
window.title("ما اللغات التي تتحدثها؟")
window.geometry("300x250")
# تعريف المتغيرات المرتبطة بمربعات الاختيار
arabic_var = tk.IntVar()
english_var = tk.IntVar()
french_var = tk.IntVar()
# إنشاء مربعات الاختيار
tk.Label(window, text="اختر اللغات التي تتحدثها:").pack(pady=10)
tk.Checkbutton(window, text="العربية", variable=arabic_var).pack(anchor="w")
tk.Checkbutton(window, text="الإنجليزية", variable=english_var).pack(anchor="w")
tk.Checkbutton(window, text="الفرنسية", variable=french_var).pack(anchor="w")
# دالة عرض النتائج
def عرض_اللغات():
لغات = []
if arabic_var.get():
لغات.append("العربية")
if english_var.get():
لغات.append("الإنجليزية")
if french_var.get():
لغات.append("الفرنسية")
if لغات:
messagebox.showinfo("اللغات المختارة", "أنت تتحدث: " + ", ".join(لغات))
else:
messagebox.showwarning("تنبيه", "لم تختر أي لغة!")
# زر تنفيذ العملية
tk.Button(window, text="عرض اللغات", command=عرض_اللغات).pack(pady=20)
window.mainloop()
🔎 ما ستتعلمه من التمرين:
- إنشاء عدة Checkbuttons.
- ربط كل Checkbutton بـ
IntVar
. - جمع وتحليل الخيارات المختارة.
- استخدام
messagebox
لعرض النتائج.
0 تعليقات