في هذا الدرس، سنتعلم كيفية استخدام عناصر إدخال البيانات في تطبيقات Tkinter، مثل:
Entry: لإدخال النصوص.Label: لعرض النصوص.Button: لتنفيذ أمر معين.
✅ الهدف:
إنشاء واجهة رسومية تحتوي على:
- خانة لإدخال الاسم.
- زر "عرض الاسم".
- عند الضغط على الزر، يظهر الاسم أسفل الزر.
🧱 الكود الكامل:
import tkinter as tk
# إنشاء نافذة
root = tk.Tk()
root.title("نموذج إدخال الاسم")
root.geometry("300x200")
# دالة عند الضغط على الزر
def عرض_الاسم():
الاسم = خانة_الإدخال.get()
نتيجة.config(text=f"مرحباً، {الاسم}!")
# العناصر
عنوان = tk.Label(root, text="أدخل اسمك:", font=("Arial", 12))
عنوان.pack(pady=5)
خانة_الإدخال = tk.Entry(root, font=("Arial", 12))
خانة_الإدخال.pack(pady=5)
زر = tk.Button(root, text="عرض الاسم", command=عرض_الاسم)
زر.pack(pady=5)
نتيجة = tk.Label(root, text="", font=("Arial", 12), fg="green")
نتيجة.pack(pady=5)
# تشغيل النافذة
root.mainloop()
🎯 ما الذي تعلمناه؟
- إنشاء حقول إدخال باستخدام
Entry. - إنشاء زر وتحديد وظيفة عند الضغط عليه.
- استخدام
config()لتعديل خصائص عنصر واجهة المستخدم. - التحكم في الترتيب العمودي باستخدام
pack().
📘 تمرين اختياري:
حاول تعديل البرنامج ليطلب إدخال "العمر" بالإضافة إلى الاسم، وعند الضغط على الزر يعرض الرسالة التالية:
"مرحباً [الاسم]، عمرك [العمر] سنة!"
✅ حل التمرين لتوسيع البرنامج بحيث يطلب الاسم والعمر، ثم يعرض رسالة ترحيبية مخصصة.
✅ الكود الكامل:
import tkinter as tk
# إنشاء النافذة
root = tk.Tk()
root.title("نموذج إدخال الاسم والعمر")
root.geometry("350x250")
# دالة عند الضغط على الزر
def عرض_المعلومات():
الاسم = إدخال_الاسم.get()
العمر = إدخال_العمر.get()
النتيجة.config(text=f"مرحباً {الاسم}، عمرك {العمر} سنة!")
# العناصر
عنوان1 = tk.Label(root, text="أدخل اسمك:", font=("Arial", 12))
عنوان1.pack(pady=5)
إدخال_الاسم = tk.Entry(root, font=("Arial", 12))
إدخال_الاسم.pack(pady=5)
عنوان2 = tk.Label(root, text="أدخل عمرك:", font=("Arial", 12))
عنوان2.pack(pady=5)
إدخال_العمر = tk.Entry(root, font=("Arial", 12))
إدخال_العمر.pack(pady=5)
زر = tk.Button(root, text="عرض المعلومات", command=عرض_المعلومات)
زر.pack(pady=10)
النتيجة = tk.Label(root, text="", font=("Arial", 12), fg="blue")
النتيجة.pack(pady=10)
# تشغيل التطبيق
root.mainloop()
🧠 ملاحظات:
- يمكن استخدام
.get()للحصول على قيمة من أيEntry. - تأكد من أن القيم التي يدخلها المستخدم تكون نصوصاً صحيحة، أو أضف معالجة أخطاء لاحقاً (سنتعلم ذلك لاحقاً).
- يمكنك تغيير ألوان الخط أو الخلفية لإضفاء لمسة جمالية أكثر.

