Google Docs: abo elroshed


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()