Python GUI Programming

إتقان شريط القوائم في Tkinter: دليل شامل

Spread the love

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

محتويات الجدول

  1. إنشاء شريط قوائم أساسي
  2. إضافة وظائف إلى عناصر القائمة
  3. تقنيات متقدمة لشريط القوائم (اختياري)

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 للحصول على معلومات مفصلة حول هذه الميزات المتقدمة.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *