🎓 الدرس 34 من Tkinter: استخدام Canvas لرسم الأشكال والرسوم التوضيحية

سوف نتعلم كيف:

  • تستخدم عنصر Canvas في Tkinter.
  • ترسم أشكالًا هندسية (مستطيل، دائرة، خط...).
  • تضيف نصوصًا أو صورًا داخل لوحة الرسم.
🎓 الدرس 34 من Tkinter: استخدام Canvas لرسم الأشكال والرسوم التوضيحية

🧱 ما هو Canvas؟

عنصر رسومي يسمح لك برسم:

  • مستطيلات ودوائر وخطوط.
  • نصوص وصور.
  • عناصر تفاعلية يمكن تحريكها أو تعديلها.

✅ مثال عملي بسيط:

import tkinter as tk

# إنشاء النافذة
window = tk.Tk()
window.title("مثال على Canvas")
window.geometry("500x400")

# إنشاء لوحة الرسم
canvas = tk.Canvas(window, width=400, height=300, bg="white")
canvas.pack(pady=20)

# رسم مستطيل
canvas.create_rectangle(50, 50, 150, 150, fill="blue", outline="black")

# رسم دائرة (بيضاوي)
canvas.create_oval(200, 50, 300, 150, fill="red")

# رسم خط
canvas.create_line(0, 0, 400, 300, fill="green", width=3)

# رسم نص
canvas.create_text(200, 250, text="مرحبًا بك في Canvas", font=("Arial", 14), fill="purple")

window.mainloop()

✅ شرح الأوامر:

الدالة الوظيفة
Canvas() إنشاء لوحة رسم
create_rectangle(x1,y1,x2,y2) رسم مستطيل (من الزاوية العليا لليسرى إلى السفلى اليمنى)
create_oval(...) رسم دائرة أو شكل بيضاوي داخل نفس الإحداثيات
create_line(...) رسم خط بين نقطتين
create_text(...) عرض نص في موقع معين داخل الـ Canvas

🧠 ملاحظات:

  • Canvas قوي جدًا في التطبيقات التي تحتاج رسومًا أو ألعابًا بسيطة.
  • يمكن استخدامه مع الأحداث (مثل السحب والضغط) لاحقًا.

التمرين: لوحة رسم بسيطة لرسم مستطيلات ملونة

🎯 المطلوب:

أن تنشئ واجهة فيها:

  • لوحة رسم Canvas.
  • زر عند الضغط عليه يرسم مستطيلًا عشوائي اللون في مكان عشوائي داخل اللوحة.

🧩 التحديات التي سنتعامل معها:

  • استخدام مكتبة random لتحديد موقع ولون المستطيل.
  • التعامل مع Canvas لإضافة عناصر ديناميكية.
  • استخدام create_rectangle() وfill لتلوين الشكل.

🧾 الحل الكامل:

import tkinter as tk
import random

# إنشاء النافذة
window = tk.Tk()
window.title("لوحة رسم مستطيلات عشوائية")
window.geometry("500x450")

# إنشاء لوحة الرسم
canvas = tk.Canvas(window, width=400, height=300, bg="white")
canvas.pack(pady=20)

# قائمة ألوان
colors = ["red", "blue", "green", "yellow", "purple", "orange", "cyan"]

# دالة رسم مستطيل عشوائي
def draw_random_rectangle():
    x1 = random.randint(0, 300)
    y1 = random.randint(0, 200)
    x2 = x1 + random.randint(30, 100)
    y2 = y1 + random.randint(30, 100)
    color = random.choice(colors)
    
    canvas.create_rectangle(x1, y1, x2, y2, fill=color, outline="black")

# زر للرسم
draw_button = tk.Button(window, text="ارسم مستطيل", command=draw_random_rectangle)
draw_button.pack()

window.mainloop()

✅ النتيجة:

  • عند الضغط على زر "ارسم مستطيل"، يتم رسم مستطيل عشوائي داخل اللوحة بلون مختلف كل مرة.

🧠 شرح سريع:

الجزء الوظيفة
random.randint() لتحديد موقع عشوائي داخل اللوحة
random.choice() لاختيار لون عشوائي من القائمة
create_rectangle() لرسم المستطيل على Canvas

إرسال تعليق

0 تعليقات