يوفر هذا البرنامج التعليمي دليلًا شاملاً لإنشاء وتخصيص الأزرار في Tkinter، مكتبة واجهة المستخدم الرسومية de-facto في Python. سنغطي خيارات الأزرار الأساسية ونوضح كيفية ربط نقرات الأزرار بالوظائف المخصصة، مما يفتح الباب أمام التطبيقات التفاعلية.
جدول المحتويات
خيارات زر Tkinter الافتراضية
إنشاء زر أساسي في Tkinter أمر بسيط. تأخذ واجهة المستخدم Button
العديد من الخيارات لتخصيص مظهرها وسلوكها.
import tkinter as tk
root = tk.Tk()
button = tk.Button(root, text="Click Me!")
button.pack()
root.mainloop()
هذا ينشئ زرًا بسيطًا. دعونا نحلل التعليمات البرمجية:
import tkinter as tk
: يستورد مكتبة Tkinter.root = tk.Tk()
: ينشئ نافذة التطبيق الرئيسية.button = tk.Button(root, text="Click Me!")
: ينشئ الزر.root
يحدد نافذة الأصل، وtext
يحدد تسمية الزر.button.pack()
: مدير هندسة يضع الزر في النافذة.pack()
بسيط، ولكن للتصاميم المعقدة، ضع في اعتباركgrid()
أوplace()
.root.mainloop()
: يبدأ حلقة أحداث Tkinter، مما يحافظ على استجابة النافذة.
إلى جانب خيار text
، تتوفر العديد من الخيارات الأخرى:
width
: عرض الزر بالأحرف (يتم حسابه تلقائيًا بشكل افتراضي).height
: ارتفاع الزر بالأسطر (الافتراضي هو 1).font
: يحدد الخط (مثل،font=("Arial", 14)
).bg
(أوbackground
): لون الخلفية (مثل،bg="lightblue"
).fg
(أوforeground
): لون النص (مثل،fg="red"
).activebackground
: لون الخلفية عند تحريك الماوس.activeforeground
: لون النص عند تحريك الماوس.state
: حالة الزر:NORMAL
(افتراضي)،DISABLED
، أوACTIVE
.relief
: نمط حدود ثلاثي الأبعاد (مثل،relief="groove"
،relief="raised"
،relief="sunken"
).image
: يسمح لك باستخدام صورة بدلاً من النص.
import tkinter as tk
from PIL import Image, ImageTk # لدعم الصور
root = tk.Tk()
# تحميل صورة (استبدل 'button_image.png' بصورتك)
try:
image = Image.open("button_image.png")
photo = ImageTk.PhotoImage(image)
button = tk.Button(root, image=photo, width=100, height=50, relief="raised")
button.image = photo # الاحتفاظ بالمرجع لمنع جمع القمامة.
except FileNotFoundError:
button = tk.Button(root, text="فشل تحميل الصورة!", width=20, height=2,
font=("Helvetica", 16), bg="red", fg="white")
button.pack()
root.mainloop()
استدعاءات أوامر زر Tkinter
تتجلى القوة الحقيقية للأزرار في ربطها بالوظائف. يقبل خيار command
دالة لتنفيذها عند النقر على الزر.
import tkinter as tk
def my_function():
print("Button clicked!")
root = tk.Tk()
button = tk.Button(root, text="Click Me!", command=my_function)
button.pack()
root.mainloop()
هنا، يتم استدعاء my_function
عند الضغط على الزر. استبدل my_function
بأي دالة لدمج نقرات الأزرار مع منطق تطبيقك.
تقنيات الأزرار المتقدمة (اختياري)
في الحالات الأكثر تقدمًا، ضع في اعتبارك هذه التقنيات:
- استخدام دوال لامدا لاستدعاءات موجزة: قم بتمرير الوسائط إلى وظائفك باستخدام تعبيرات لامدا. على سبيل المثال:
button = tk.Button(root, text="Click Me!", command=lambda: my_function("hello"))
- أنماط الأزرار المخصصة: استكشف عناصر واجهة المستخدم ttk (
ttk.Button
) للحصول على أزرار ذات طابع مميز وخيارات تصميم إضافية. - صور الأزرار: استخدم الصور لتصميم زر أكثر جاذبية بصريًا.
يوفر هذا البرنامج التعليمي أساسًا متينًا لاستخدام الأزرار في Tkinter. جرّب الخيارات والتقنيات المختلفة لإنشاء واجهات مستخدم رسومية تفاعلية وجذابة.