🎯 الهدف أن تتعلم كيفية:
- تعيين أيقونة مخصصة لنافذة التطبيق.
- إضافة أيقونات صغيرة داخل الأزرار.
- استخدام ملفات
.icoأو.pngلعرض رموز مرئية.
✅ أولًا: تعيين أيقونة للنافذة
import tkinter as tk
window = tk.Tk()
window.title("نافذة مع أيقونة")
window.geometry("300x200")
# تعيين أيقونة من ملف .ico
window.iconbitmap("icon.ico")
tk.Label(window, text="مرحبا بك").pack(pady=50)
window.mainloop()
📌 ملاحظات:
- يجب أن يكون الملف
icon.icoفي نفس مجلد البرنامج. - يمكن تحويل صورة
.pngإلى.icoباستخدام مواقع أونلاين بسهولة.
✅ ثانيًا: استخدام صورة داخل زر (Button)
import tkinter as tk
from PIL import Image, ImageTk
window = tk.Tk()
window.title("زر مع أيقونة")
window.geometry("300x200")
# تحميل صورة PNG
img = Image.open("icon.png")
img = img.resize((20, 20))
icon = ImageTk.PhotoImage(img)
# زر مع أيقونة
btn = tk.Button(window, text="تحميل", image=icon, compound="left")
btn.pack(pady=50)
window.mainloop()
🧠 شرح:
| الخاصية | المعنى |
|---|---|
image= |
تُستخدم لإرفاق صورة داخل الزر. |
compound="left" |
تجعل الصورة على يسار النص. |
⚠️ يجب أن تثبت مكتبة
Pillowلتعمل الصور:
pip install pillow
✅ ملاحظات إضافية:
- تنسيقات الصور المدعومة:
.ico,.png,.gif - استخدم حجم صور مناسب (مثلاً 16x16 أو 32x32).
- لا تنسَ الاحتفاظ بالصورة في متغير (
icon = ...) حتى لا تُفقد من الذاكرة.
✅ التمرين: تصميم واجهة تحتوي على زر تحميل بأيقونة، وأيقونة نافذة مخصصة
🎯 المطلوب:
- تعيين أيقونة للنافذة (باستخدام ملف
icon.ico). - إضافة زر فيه أيقونة تحميل (باستخدام صورة PNG صغيرة).
- كتابة عبارة توضيحية أعلى الزر.
✅ الحل الكامل:
import tkinter as tk
from PIL import Image, ImageTk
# إنشاء النافذة
window = tk.Tk()
window.title("تطبيق مع أيقونات")
window.geometry("300x250")
# تعيين أيقونة النافذة (تأكد أن الملف icon.ico موجود في نفس المجلد)
window.iconbitmap("icon.ico")
# كتابة نص توضيحي
tk.Label(window, text="اضغط على زر التحميل:", font=("Arial", 12)).pack(pady=10)
# تحميل صورة PNG وتعديل حجمها
img = Image.open("download.png") # تأكد أن الصورة موجودة
img = img.resize((24, 24))
icon = ImageTk.PhotoImage(img)
# إنشاء زر مع الأيقونة والنص
btn = tk.Button(window, text="تحميل", image=icon, compound="left", font=("Arial", 10))
btn.pack(pady=20)
window.mainloop()
🎨 المطلوب منك لتجربة البرنامج:
| الملف | النوع | الوصف |
|---|---|---|
icon.ico |
أيقونة | لتعيينها كأيقونة النافذة |
download.png |
صورة صغيرة | لتظهر بجانب نص الزر |
يمكنك الحصول على هذه الصور من مواقع مثل:
- https://icons8.com
- https://www.flaticon.com
- أو تحويل PNG إلى ICO باستخدام مواقع التحويل.
🧠 ملحوظة مهمة:
لا تنسَ تثبيت مكتبة Pillow لتعمل الأكواد الخاصة بالصور:
pip install pillow

