🎓 الدرس 33 من Tkinter: إنشاء قوائم منسدلة (Menus)

سنتعلم في هذا الدرس كيفية إنشاء قائمة منسدلة (مثل "ملف" أو "مساعدة") في شريط القوائم بأعلى نافذة التطبيق، تمامًا كما نراها في البرامج الاحترافية.

🎓 الدرس 33 من Tkinter: إنشاء قوائم منسدلة (Menus)

🧱 المفاهيم الأساسية:

العنصر الوظيفة
Menu(window) إنشاء شريط قائمة رئيسي مرتبط بالنافذة
add_cascade() إضافة قائمة فرعية إلى الشريط (مثل "ملف")
add_command() إضافة أمر داخل القائمة (مثل "فتح" أو "خروج")
add_separator() خط فاصل بين العناصر في القائمة

✅ مثال تطبيقي:

import tkinter as tk

# إنشاء النافذة
window = tk.Tk()
window.title("مثال على القوائم")
window.geometry("400x300")

# إنشاء الشريط الرئيسي للقوائم
menu_bar = tk.Menu(window)

# قائمة "ملف"
file_menu = tk.Menu(menu_bar, tearoff=0)
file_menu.add_command(label="جديد")
file_menu.add_command(label="فتح")
file_menu.add_separator()
file_menu.add_command(label="خروج", command=window.quit)

# قائمة "مساعدة"
help_menu = tk.Menu(menu_bar, tearoff=0)
help_menu.add_command(label="حول البرنامج")

# إضافة القوائم إلى شريط القوائم
menu_bar.add_cascade(label="ملف", menu=file_menu)
menu_bar.add_cascade(label="مساعدة", menu=help_menu)

# إرفاق شريط القوائم بالنافذة
window.config(menu=menu_bar)

window.mainloop()

💡 شرح سريع:

الكود المعنى
tearoff=0 يعطّل الشريط القابل للسحب (مظهر احترافي أكثر)
command=window.quit عند الضغط على "خروج" يتم إغلاق التطبيق
menu=config(...) لربط القائمة بالنافذة

✅ النتيجة المتوقعة:

  • شريط قائمة في الأعلى يحتوي على:
    • قائمة "ملف" بها: "جديد"، "فتح"، "خروج".
    • قائمة "مساعدة" بها: "حول البرنامج".


✅ التمرين: "واجهة تحتوي على قائمة ملف وأدوات"

🎯 المطلوب:

  1. أنشئ نافذة بعنوان "محرر بسيط".
  2. أضف شريط قوائم يحتوي على:
    • قائمة "ملف" بها: "جديد"، "فتح"، "حفظ"، وخط فاصل ثم "خروج".
    • قائمة "أدوات" بها: "نسخ"، "لصق".
  3. عند الضغط على "خروج" يتم إغلاق التطبيق.

🧾 الحل الكامل:

import tkinter as tk

# إنشاء النافذة
window = tk.Tk()
window.title("محرر بسيط")
window.geometry("500x300")

# إنشاء شريط القوائم الرئيسي
menu_bar = tk.Menu(window)

# --- قائمة ملف ---
file_menu = tk.Menu(menu_bar, tearoff=0)
file_menu.add_command(label="جديد")
file_menu.add_command(label="فتح")
file_menu.add_command(label="حفظ")
file_menu.add_separator()
file_menu.add_command(label="خروج", command=window.quit)

menu_bar.add_cascade(label="ملف", menu=file_menu)

# --- قائمة أدوات ---
tools_menu = tk.Menu(menu_bar, tearoff=0)
tools_menu.add_command(label="نسخ")
tools_menu.add_command(label="لصق")

menu_bar.add_cascade(label="أدوات", menu=tools_menu)

# ربط القائمة بالنافذة
window.config(menu=menu_bar)

# محتوى بسيط للواجهة
label = tk.Label(window, text="مرحبًا بك في المحرر البسيط!", font=("Arial", 12))
label.pack(pady=100)

window.mainloop()

✅ النتيجة المتوقعة:

  • شريط قوائم في الأعلى.
  • عند النقر على "ملف"، تظهر خيارات: جديد، فتح، حفظ، خروج.
  • عند النقر على "أدوات"، تظهر خيارات: نسخ، لصق.
  • عند اختيار "خروج"، يتم إغلاق النافذة.

إرسال تعليق

0 تعليقات