Python GUI Development

إنشاء تطبيق Tkinter بشريط حالة وجدول محتويات

Spread the love

بناء تطبيق Tkinter مع شريط حالة وجدول المحتويات

يوضح هذا البرنامج التعليمي كيفية إنشاء تطبيق Tkinter بسيط ولكنه وظيفي يتضمن شريط حالة وجدول محتوى مُحدّث ديناميكيًا. هذا مفيد بشكل خاص للتطبيقات التي تحتوي على أقسام أو ميزات متعددة، مما يعزز تصفح المستخدم وتجربته.

I. إعداد الأساس

نبدأ باستيراد مكتبة tkinter وإنشاء نافذة التطبيق الرئيسية:


import tkinter as tk

root = tk.Tk()
root.title("Tkinter Application with Status Bar and Table of Contents")

# إطار المحتوى الرئيسي
content_frame = tk.Frame(root)
content_frame.pack(expand=True, fill="both")

# شريط الحالة
status_bar = tk.Label(root, text="", bd=1, relief="sunken", anchor="w")
status_bar.pack(side="bottom", fill="x")

هذا ينشئ النافذة الرئيسية وإطارًا لحمل محتوى التطبيق. يتم إضافة شريط حالة في الأسفل لعرض الرسائل.

II. تنفيذ جدول المحتويات

تُستخدم واجهة Listbox كجدول محتوى لدينا. وهي فارغة في البداية، ويتم ملؤها عند إضافة الأقسام:


# جدول المحتويات
toc_listbox = tk.Listbox(content_frame, width=20)
toc_listbox.pack(side="left", fill="y")

هذا يضع مربع قائمة على يسار إطار المحتوى، جاهزًا لعرض عناوين الأقسام.

III. التحديثات الديناميكية: شريط الحالة وجدول المحتويات

تكمن الوظيفة الأساسية في تحديث كل من شريط الحالة وجدول المحتويات. تقوم الوظيفة التالية بمعالجة هذا:


def add_section(section_title):
    """يضيف قسمًا إلى التطبيق، ويُحدّث واجهة المستخدم."""
    toc_listbox.insert(tk.END, section_title)
    status_bar.config(text=f"Added section: {section_title}")

# مثال على الاستخدام
add_section("مقدمة")
add_section("الميزات الأساسية")
add_section("الاستخدام المتقدم")
add_section("استكشاف الأخطاء وإصلاحها")

تقوم هذه الوظيفة بإضافة عنوان القسم إلى مربع القائمة وتحديث شريط الحالة ليعكس الإجراء. تُظهر المكالمات المثال استخدامها.

IV. شفرة التطبيق الكاملة

فيما يلي الشفرة الكاملة القابلة للتشغيل:


import tkinter as tk

root = tk.Tk()
root.title("Tkinter Application with Status Bar and Table of Contents")

content_frame = tk.Frame(root)
content_frame.pack(expand=True, fill="both")

status_bar = tk.Label(root, text="", bd=1, relief="sunken", anchor="w")
status_bar.pack(side="bottom", fill="x")

toc_listbox = tk.Listbox(content_frame, width=20)
toc_listbox.pack(side="left", fill="y")

def add_section(section_title):
    toc_listbox.insert(tk.END, section_title)
    status_bar.config(text=f"Added section: {section_title}")

add_section("مقدمة")
add_section("الميزات الأساسية")
add_section("الاستخدام المتقدم")
add_section("استكشاف الأخطاء وإصلاحها")

root.mainloop()

هذه الشفرة تُنشئ تطبيقًا وظيفيًا بالكامل. من خلال التوسع في هذا الأساس، يمكنك إضافة ميزات مثل عناصر مربع القائمة القابلة للنقر للتنقل إلى أقسام محددة داخل تطبيقك، مما يجعله أكثر سهولة في الاستخدام.

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

اترك تعليقاً

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