تعلم كيفية إنشاء شريط قوائم علوي مثل الموجود في معظم التطبيقات (ملف، تحرير، مساعدة...) باستخدام مكتبة Tkinter.
📌 ما هو شريط القوائم؟
هو شريط أفقي يظهر عادة في أعلى النافذة، يحتوي على قوائم منسدلة لتنفيذ أوامر مثل "فتح"، "حفظ"، "خروج"، إلخ.
🧱 الأساسيات:
🔹 لإنشاء قائمة:
menu_bar = tk.Menu(window)
window.config(menu=menu_bar)
🔹 لإضافة قائمة فرعية (مثل "ملف"):
file_menu = tk.Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="ملف", menu=file_menu)
🔹 لإضافة عناصر إلى القائمة الفرعية:
file_menu.add_command(label="فتح", command=some_function)
file_menu.add_command(label="خروج", command=window.quit)
✅ مثال عملي:
import tkinter as tk
from tkinter import messagebox
# دالة عند اختيار "عن البرنامج"
def عرض_حول():
messagebox.showinfo("عن البرنامج", "هذا برنامج بسيط باستخدام Tkinter")
# إنشاء النافذة
window = tk.Tk()
window.title("مثال على شريط القوائم")
window.geometry("400x300")
# إنشاء شريط القوائم
menu_bar = tk.Menu(window)
window.config(menu=menu_bar)
# قائمة "ملف"
file_menu = tk.Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="ملف", menu=file_menu)
file_menu.add_command(label="خروج", command=window.quit)
# قائمة "مساعدة"
help_menu = tk.Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="مساعدة", menu=help_menu)
help_menu.add_command(label="عن البرنامج", command=عرض_حول)
window.mainloop()
✅ ما تعلمته في هذا الدرس:
العنصر | الوظيفة |
---|---|
Menu() |
إنشاء قائمة جديدة. |
add_cascade() |
ربط قائمة فرعية بالقائمة الرئيسية. |
add_command() |
إضافة خيار للقائمة. |
tearoff=0 |
يمنع فصل القائمة كنافذة مستقلة. |
✅ التمرين التطبيقي: "قائمة بسيطة لإدارة مستند"
🎯 المطلوب:
أنشئ نافذة تحتوي على:
- شريط قوائم فيه:
- قائمة "ملف" (File) تحتوي على الخيارات:
- "جديد" → عند الضغط تظهر رسالة "ملف جديد".
- "خروج" → يغلق التطبيق.
- قائمة "مساعدة" (Help) تحتوي على الخيار:
- "عن البرنامج" → تظهر رسالة توضح أن هذا مثال تعليمي بسيط.
- قائمة "ملف" (File) تحتوي على الخيارات:
🧾 الكود الكامل للحل:
import tkinter as tk
from tkinter import messagebox
# إنشاء النافذة
window = tk.Tk()
window.title("تطبيق قائم على القوائم")
window.geometry("400x250")
# دوال الأوامر
def ملف_جديد():
messagebox.showinfo("جديد", "تم فتح ملف جديد!")
def عن_البرنامج():
messagebox.showinfo("عن البرنامج", "هذا مثال تعليمي بسيط باستخدام Tkinter.")
# إنشاء شريط القوائم
menu_bar = tk.Menu(window)
window.config(menu=menu_bar)
# قائمة ملف
file_menu = tk.Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="ملف", menu=file_menu)
file_menu.add_command(label="جديد", command=ملف_جديد)
file_menu.add_separator()
file_menu.add_command(label="خروج", command=window.quit)
# قائمة مساعدة
help_menu = tk.Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="مساعدة", menu=help_menu)
help_menu.add_command(label="عن البرنامج", command=عن_البرنامج)
# تشغيل البرنامج
window.mainloop()
💡 ما ستتعلمه من التمرين:
- كيفية إنشاء أكثر من قائمة.
- التعامل مع الأحداث عند الضغط على العناصر.
- عرض رسائل باستخدام
messagebox
. - استخدام
add_separator()
لإضافة فاصل مرئي بين عناصر القائمة.
0 تعليقات