يهديك هذا البرنامج التعليمي إلى إنشاء واستخدام شريط القوائم في Tkinter، وهي مكتبة Python لبناء واجهات المستخدم الرسومية (GUIs). إن الإلمام المسبق بواجهات Tkinter الأساسية (مثل الإطارات والعلامات) مفيد.
محتويات الجدول
1. إنشاء شريط قوائم أساسي
لنبدأ ببناء شريط قوائم بسيط بقائمة “ملف”، تتضمن خيارات “جديد” و “فتح” و “خروج”. يركز هذا المثال الأول فقط على الهيكل المرئي؛ لن تقوم عناصر القائمة بأي إجراءات حتى الآن.
import tkinter as tk
root = tk.Tk()
root.title("مثال شريط قوائم Tkinter")
menubar = tk.Menu(root)
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="جديد")
filemenu.add_command(label="فتح")
filemenu.add_separator()
filemenu.add_command(label="خروج")
menubar.add_cascade(label="ملف", menu=filemenu)
root.config(menu=menubar)
root.mainloop()
يقوم هذا الكود بإنشاء النافذة الرئيسية (root
)، وشريط القوائم، وقائمة “ملف”. tearoff=0
يمنع فصل القائمة. add_command
يضيف عناصر القائمة، add_separator
يضيف فاصلًا مرئيًا، و add_cascade
يدمج قائمة “ملف” في شريط القوائم. root.config(menu=menubar)
يعرض شريط القوائم.
2. إضافة وظائف إلى عناصر القائمة
الآن، دعونا نعزز عناصر القائمة بوظائف. سنقوم بربط الأمر “خروج” لإغلاق التطبيق وإضافة إجراءات لـ “جديد” و “فتح”.
import tkinter as tk
def new_file():
print("تم تنشيط إجراء ملف جديد!")
def open_file():
print("تم تنشيط إجراء فتح الملف!")
def exit_app():
root.destroy() # ممارسة أفضل من root.quit()
root = tk.Tk()
root.title("مثال شريط قوائم Tkinter مع الأوامر")
menubar = tk.Menu(root)
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="جديد", command=new_file)
filemenu.add_command(label="فتح", command=open_file)
filemenu.add_separator()
filemenu.add_command(label="خروج", command=exit_app)
menubar.add_cascade(label="ملف", menu=filemenu)
root.config(menu=menubar)
root.mainloop()
يحدد الكود الدوال new_file
و open_file
و exit_app
. ترتبط هذه الدوال بعناصر القائمة عبر وسيطة command
. سيؤدي النقر فوق “جديد” أو “فتح” الآن إلى تشغيل الدالة المقابلة؛ سيؤدي “خروج” إلى إغلاق التطبيق. تذكر استبدال عبارات الطباعة التي تعمل كعلامات مكان بوظائفك المطلوبة. على سبيل المثال، قد تربط “فتح” بحوار الملف.
3. تقنيات متقدمة لشريط القوائم (اختياري)
لإنشاء تطبيقات أكثر تعقيدًا وسهولة في الاستخدام، ضع في اعتبارك هذه التقنيات المتقدمة:
- القوائم الفرعية: أنشئ قوائم متداخلة لتحسين التنظيم.
- عناصر قائمة خانة الاختيار: اسمح للمستخدمين بتبديل الخيارات.
- عناصر قائمة زر الاختيار: قدم خيارات متبادلة بشكل حصري.
- اختصارات لوحة المفاتيح: عين اختصارات لوحة المفاتيح لعناصر القائمة للوصول الأسرع (باستخدام خيارات
underline
وaccelerator
فيadd_command
). - معالجة الأحداث: استخدم تقنيات معالجة الأحداث الأكثر تطوراً لإدارة تفاعلات المستخدم.
استكشف وثائق Tkinter للحصول على معلومات مفصلة حول هذه الميزات المتقدمة.