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