import tkinter as tk
from tkinter import ttk, messagebox
from PIL import Image, ImageTk # لتحميل الصور بشكل أفضل
إنشاء النافذة الرئيسية
root = tk.Tk()
root.title(“برنامج الذكاء الصناعي - اختيار الشخصية”)
root.geometry(“600x400”)
root.configure(bg=“#f0f0f0”)
إضافة عنوان البرنامج
title_label = tk.Label(root, text=“مرحبًا بكم في برنامج الذكاء الصناعي”, font=(“Arial”, 20, “bold”), bg=“#f0f0f0”, fg=“#333333”)
title_label.pack(pady=20)
دالة لتحميل الصور
def load_image(image_path, size=(200, 200)):
try:
image = Image.open(image_path)
image = image.resize(size, Image.ANTIALIAS)
return ImageTk.PhotoImage(image)
except Exception as e:
print(f"خطأ في تحميل الصورة: {e}")
return None
إضافة صورة البرنامج
ai_image = load_image(“ai_image.png”) # تأكد من وجود ملف ai_image.png في نفس المجلد
if ai_image:
image_label = tk.Label(root, image=ai_image, bg=“#f0f0f0”)
image_label.pack(pady=10)
else:
image_label = tk.Label(root, text=“صورة البرنامج”, font=(“Arial”, 16), bg=“#f0f0f0”, fg=“#666666”)
image_label.pack(pady=10)
قائمة الشخصيات مع صورها
characters = {
“رجل”: {“details”: “شخصية رجل”, “image”: “man.png”},
“امرأة”: {“details”: “شخصية امرأة”, “image”: “woman.png”},
“طفل”: {“details”: “شخصية طفل”, “image”: “child.png”},
“شيخ”: {“details”: “شخصية شيخ”, “image”: “old_man.png”}
}
إضافة قائمة الشخصيات
character_label = tk.Label(root, text=“اختر الشخصية المفضلة لديك:”, font=(“Arial”, 16), bg=“#f0f0f0”, fg=“#333333”)
character_label.pack(pady=10)
character_var = tk.StringVar(root)
character_var.set(list(characters.keys())[0]) # القيمة الافتراضية
character_menu = ttk.Combobox(root, textvariable=character_var, values=list(characters.keys()), font=(“Arial”, 14))
character_menu.pack(pady=10)
إطار لعرض صورة الشخصية المختارة
character_image_label = tk.Label(root, bg=“#f0f0f0”)
character_image_label.pack(pady=10)
وظيفة لعرض تفاصيل الشخصية المختارة
def show_character_details():
selected_character = character_var.get()
details = characters[selected_character][“details”]
# تحميل صورة الشخصية المختارة
image_path = characters[selected_character]["image"]
character_image = load_image(image_path, size=(150, 150))
if character_image:
character_image_label.config(image=character_image)
character_image_label.image = character_image # لمنع الصورة من الاختفاء بسبب جمع القمامة
else:
character_image_label.config(text="لا توجد صورة متاحة", font=("Arial", 14), fg="#666666")
messagebox.showinfo("تفاصيل الشخصية", f"تم اختيار {selected_character}: {details}")
إضافة زر عرض التفاصيل
details_button = tk.Button(root, text=“عرض التفاصيل”, font=(“Arial”, 16), bg=“#4CAF50”, fg=“#ffffff”, command=show_character_details)
details_button.pack(pady=20)
تشغيل النافذة
root.mainloop()