إنشاء واجهة مستخدم بسيطة باستخدام Tkinter في Python

تمت الكتابة بواسطة: عبد الحكيم

تارخ آخر تحديث: 10 سبتمبر 2024

محتوى المقال

إنشاء واجهة مستخدم بسيطة باستخدام Tkinter في Python

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

ما هي مكتبة Tkinter؟

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

إنشاء نافذة بسيطة باستخدام Tkinter

للبدء في استخدام Tkinter، نحتاج إلى استيراد المكتبة وإنشاء نافذة رئيسية. فيما يلي مثال بسيط لإنشاء نافذة باستخدام Tkinter:

import tkinter as tk

# إنشاء نافذة رئيسية
root = tk.Tk()

# تحديد عنوان النافذة
root.title('نافذة Tkinter')

# تشغيل الحلقة الرئيسية
root.mainloop()

في هذا المثال، قمنا بإنشاء نافذة رئيسية باستخدام tk.Tk() وتحديد عنوان النافذة باستخدام root.title(). الحلقة الرئيسية root.mainloop() مطلوبة للحفاظ على تشغيل النافذة واستقبال التفاعلات من المستخدم.

إضافة عناصر واجهة المستخدم (Widgets)

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

إضافة زر (Button)

لإضافة زر إلى النافذة، نستخدم عنصر Button. يمكننا تخصيص الزر بالنص والتفاعل مع نقرة المستخدم.

import tkinter as tk

root = tk.Tk()

# تعريف وظيفة عند الضغط على الزر
def on_click():
    print('تم الضغط على الزر!')

# إنشاء زر
button = tk.Button(root, text='اضغط علي', command=on_click)

# وضع الزر في النافذة
button.pack()

root.mainloop()

في هذا المثال، قمنا بإنشاء زر بعنوان "اضغط علي" باستخدام Button. عند النقر على الزر، يتم استدعاء الوظيفة on_click() التي تقوم بطباعة رسالة على وحدة التحكم.

إضافة مربع نصي (Entry)

لإضافة مربع نصي يتيح للمستخدم إدخال نص، نستخدم عنصر Entry. يمكننا قراءة النص المدخل ومعالجته.

import tkinter as tk

root = tk.Tk()

# إنشاء مربع نصي
entry = tk.Entry(root)

# وضع المربع النصي في النافذة
entry.pack()

# قراءة النص المدخل عند الضغط على زر
def get_text():
    text = entry.get()
    print(text)

# إنشاء زر لقراءة النص
button = tk.Button(root, text='أظهر النص', command=get_text)

button.pack()

root.mainloop()

في هذا المثال، قمنا بإنشاء مربع نصي باستخدام Entry وزر لعرض النص المدخل عند النقر عليه. النص المدخل يتم قراءته باستخدام entry.get() وعرضه على وحدة التحكم.

تنظيم العناصر باستخدام الإطارات (Frames)

عندما تحتوي واجهة المستخدم على العديد من العناصر، يمكن استخدام الإطارات (Frames) لتنظيمها بشكل أفضل. كل إطار يمكن أن يحتوي على مجموعة من العناصر المرتبطة.

import tkinter as tk

root = tk.Tk()

# إنشاء إطار
frame = tk.Frame(root)
frame.pack()

# إضافة أزرار داخل الإطار
button1 = tk.Button(frame, text='زر 1')
button1.pack(side='left')

button2 = tk.Button(frame, text='زر 2')
button2.pack(side='left')

root.mainloop()

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

مقارنة بين الطرق المختلفة لتنظيم واجهة المستخدم

عند تصميم واجهة مستخدم رسومية باستخدام Tkinter، يمكن استخدام عدة طرق لتنظيم العناصر داخل النافذة:

  • الحزمة (Pack): تستخدم لترتيب العناصر داخل النافذة أو الإطار بشكل تسلسلي (أفقي أو عمودي).
  • الشبكة (Grid): تستخدم لترتيب العناصر في شبكة ذات صفوف وأعمدة.
  • المكان (Place): توفر تحكمًا دقيقًا في مكان وضع العناصر باستخدام إحداثيات محددة.

الخلاصة

إنشاء واجهة مستخدم بسيطة باستخدام Tkinter في Python هو خطوة ممتازة للمبتدئين في عالم تطوير البرمجيات. توفر Tkinter واجهة سهلة الاستخدام لإنشاء تطبيقات رسومية مع العديد من الأدوات والعناصر التي يمكن استخدامها لبناء واجهات مستخدم تفاعلية. بفضل سهولة استخدامها وتوافرها في Python، تعد Tkinter خيارًا ممتازًا لتطوير تطبيقات سطح المكتب الصغيرة والمتوسطة.

طور مهاراتك: مقالات يجب قراءتها في البرمجة