Python GUI Development

إتقان تسميات Tkinter: دليل شامل

Spread the love

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

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

  1. إنشاء تسميات أساسية
  2. تخصيص نص التسمية ومظهرها
  3. تنسيق الخطوط
  4. إدارة الألوان
  5. عرض الصور
  6. تقنيات متقدمة واعتبارات

1. إنشاء تسميات أساسية

يتضمن إنشاء تسمية بسيطة استيراد مكتبة tkinter، وإنشاء نافذة التطبيق الرئيسية، وإنشاء مثيل لواجهة Label، ووضعه داخل النافذة باستخدام مدير هندسي مثل pack()، أو grid()، أو place().

import tkinter as tk

root = tk.Tk()
root.title("My First Label")

my_label = tk.Label(root, text="Hello, Tkinter!")
my_label.pack()

root.mainloop()

ينتج هذا الكود نافذة تعرض “Hello, Tkinter!”. تُعدّ وسيطة text أساسية، ولكن العديد من الخيارات تتحكم في مظهر التسمية وسلوكها، كما هو موضح أدناه.

2. تخصيص نص التسمية ومظهرها

إلى جانب النص الأساسي، يمكنك التحكم في جوانب مختلفة من مظهر التسمية باستخدام خيارات إضافية. على سبيل المثال، يمكنك ضبط محاذاة النص باستخدام anchor (مثلًا، anchor=tk.W لمحاذاة الغرب، anchor=tk.CENTER لمحاذاة المركز) أو إضافة حشو باستخدام padx و pady.

import tkinter as tk

root = tk.Tk()
my_label = tk.Label(root, text="Centered Text", anchor=tk.CENTER, padx=10, pady=5)
my_label.pack()
root.mainloop()

3. تنسيق الخطوط

خصّص خط تسميتك باستخدام خيار font، الذي يقبل مجموعة تُحدد عائلة الخط، والحجم، والنمط (اختياري).

import tkinter as tk

root = tk.Tk()
my_label = tk.Label(root, text="Stylish Text", font=("Arial", 14, "italic"))
my_label.pack()
root.mainloop()

جرّب عائلات الخطوط وأنماطها المختلفة المتوفرة على نظامك.

4. إدارة الألوان

تحكم في ألوان المقدمة (النص) والخلفية باستخدام خيارات fg (المقدمة) و bg (الخلفية). استخدم أسماء الألوان (مثلًا، “blue”، “red”) أو رموز الألوان السداسية العشرية (#RRGGBB).

import tkinter as tk

root = tk.Tk()
my_label = tk.Label(root, text="Colorful Text", fg="green", bg="#FFFF00")
my_label.pack()
root.mainloop()

5. عرض الصور

اعرض الصور داخل تسمية باستخدام فئة PhotoImage. تذكّر بالحفاظ على مرجع لكائن PhotoImage لمنع جمع القمامة.

import tkinter as tk
from tkinter import PhotoImage

root = tk.Tk()
image = PhotoImage(file="my_image.png")  # استبدل بمسار صورتك
my_label = tk.Label(root, image=image)
my_label.image = image  # احتفظ بمرجع!
my_label.pack()
root.mainloop()

تأكد من صحة مسار الصورة. تعمل صور PNG بشكل أفضل؛ قد تتطلب الصيغ الأخرى مكتبات مثل Pillow للمعالجة.

6. تقنيات متقدمة واعتبارات

للوضعيات الأكثر تعقيدًا، استخدم مديري الهندسة grid() أو place() بدلاً من pack(). استكشف خيارات إضافية مثل justify لضبط النص، و wraplength للف النص، و relief لأنماط الحدود لتعديل تسمياتك بشكل أكبر.

ضع في اعتبارك استخدام StringVar() أو متغيرات Tkinter الأخرى لتحديث نص التسمية ديناميكيًا، مما يخلق عناصر تفاعلية داخل تطبيقك.

اترك تعليقاً

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