🎯 ما هو MessageBox؟
هي نوافذ منبثقة (Popups) تظهر للمستخدم لتقديم معلومات أو تحذير أو طرح سؤال، وهي جزء من الوحدة tkinter.messagebox
.
✅ أنواع النوافذ المنبثقة في Tkinter:
import tkinter.messagebox as msg
الدالة | الاستخدام |
---|---|
msg.showinfo() |
عرض رسالة معلومات |
msg.showwarning() |
عرض تحذير |
msg.showerror() |
عرض رسالة خطأ |
msg.askquestion() |
طرح سؤال (نعم/لا) |
msg.askyesno() |
طرح سؤال ويعيد True/False |
msg.askokcancel() |
طرح سؤال (موافق/إلغاء) |
🧪 مثال عملي:
import tkinter as tk
from tkinter import messagebox
def عرض_معلومة():
messagebox.showinfo("معلومة", "تم تنفيذ العملية بنجاح!")
def عرض_تحذير():
messagebox.showwarning("تحذير", "أنت على وشك حذف البيانات!")
def عرض_سؤال():
إجابة = messagebox.askyesno("تأكيد", "هل أنت متأكد من المتابعة؟")
if إجابة:
messagebox.showinfo("تأكيد", "تمت المتابعة")
else:
messagebox.showinfo("إلغاء", "تم الإلغاء")
# إنشاء النافذة
نافذة = tk.Tk()
نافذة.title("نافذة الرسائل")
نافذة.geometry("300x250")
# أزرار
tk.Button(نافذة, text="عرض معلومة", command=عرض_معلومة).pack(pady=10)
tk.Button(نافذة, text="عرض تحذير", command=عرض_تحذير).pack(pady=10)
tk.Button(نافذة, text="طرح سؤال", command=عرض_سؤال).pack(pady=10)
نافذة.mainloop()
🧠 ما ستتعلمه:
- طريقة استدعاء نوافذ حوارية.
- التعامل مع ردود المستخدم في حالة الأسئلة.
- استخدام
messagebox
لرفع تجربة المستخدم.
✅ تمرين تطبيقي: برنامج تسجيل دخول وهمي
🎯 المطلوب:
إنشاء واجهة تحتوي على:
- حقلين لإدخال اسم المستخدم و كلمة المرور.
- زر "تسجيل الدخول".
- عند الضغط على الزر:
- إذا كان اسم المستخدم "admin" وكلمة المرور "1234"، تظهر رسالة "تم تسجيل الدخول بنجاح".
- إذا كانت البيانات خاطئة، تظهر رسالة خطأ.
✅ الحل:
import tkinter as tk
from tkinter import messagebox
# دالة تسجيل الدخول
def تسجيل_الدخول():
المستخدم = entry_user.get()
كلمة_المرور = entry_pass.get()
if المستخدم == "admin" and كلمة_المرور == "1234":
messagebox.showinfo("نجاح", "تم تسجيل الدخول بنجاح!")
else:
messagebox.showerror("خطأ", "اسم المستخدم أو كلمة المرور غير صحيحة!")
# إنشاء النافذة
نافذة = tk.Tk()
نافذة.title("نموذج تسجيل دخول")
نافذة.geometry("300x200")
# الملصقات وحقول الإدخال
tk.Label(نافذة, text="اسم المستخدم:").pack(pady=5)
entry_user = tk.Entry(نافذة)
entry_user.pack()
tk.Label(نافذة, text="كلمة المرور:").pack(pady=5)
entry_pass = tk.Entry(نافذة, show="*")
entry_pass.pack()
# زر تسجيل الدخول
tk.Button(نافذة, text="تسجيل الدخول", command=تسجيل_الدخول).pack(pady=10)
نافذة.mainloop()
🎯 ما يتعلمه المتدرب من هذا التمرين:
- قراءة البيانات من حقول الإدخال.
- استخدام
messagebox
لعرض نتائج التحقق. - التحقق من صحة البيانات بطريقة بسيطة.
0 تعليقات