الدرس 6: أداة Spinbox في Tkinter

🧾 ما هو الـ Spinbox؟

هو عنصر واجهة رسومية يسمح للمستخدم باختيار قيمة عددية (أو اختيار من قائمة) عن طريق أسهم زيادة/نقصان.

الدرس 6: أداة Spinbox في Tkinter

✅ الشكل العام:

spinbox = tk.Spinbox(parent, from_=الحد_الأدنى, to=الحد_الأقصى)

🛠 مثال عملي:

import tkinter as tk

window = tk.Tk()
window.title("مثال على Spinbox")
window.geometry("250x150")

# إنشاء Spinbox من 1 إلى 10
spin = tk.Spinbox(window, from_=1, to=10, width=10)
spin.pack(pady=10)

# دالة عرض القيمة
def عرض_القيمة():
    tk.Label(window, text=f"اخترت: {spin.get()}").pack()

# زر لعرض القيمة
btn = tk.Button(window, text="عرض القيمة", command=عرض_القيمة)
btn.pack(pady=10)

window.mainloop()

🧠 ملاحظات:

  • يمكنك استخدام values=("أحمر", "أخضر", "أزرق") بدلاً من from_ و to إذا أردت قائمة غير رقمية.
  • يمكن تخصيص عرض الخط، الألوان، الحجم وغيرها باستخدام خصائص إضافية مثل: font, fg, bg.

✅ تطبيقات شائعة:

  • اختيار عدد العناصر.
  • ضبط الوقت أو القيم الرقمية.
  • التحكم في الإعدادات ضمن مدى محدد.


🧪 تمرين تطبيقي – آلة تحديد كمية الطلب

المطلوب:

صمّم واجهة تحتوي على:

  • عنوان "طلب منتج"
  • Spinbox يحدد كمية المنتج من 1 إلى 20
  • زر "حساب السعر"
  • عند الضغط على الزر، يتم حساب السعر الكلي بناءً على أن سعر القطعة الواحدة = 15 ريال ويُعرض للمستخدم.

الحل المقترح:

import tkinter as tk

def حساب_السعر():
    الكمية = int(spinbox.get())
    السعر_القطعة = 15
    السعر_الإجمالي = الكمية * السعر_القطعة
    النتيجة.config(text=f"السعر الإجمالي: {السعر_الإجمالي} ريال")

# نافذة البرنامج
window = tk.Tk()
window.title("طلب منتج")
window.geometry("300x200")

# عنوان
عنوان = tk.Label(window, text="طلب منتج", font=("Arial", 16))
عنوان.pack(pady=10)

# Spinbox لتحديد الكمية
spinbox = tk.Spinbox(window, from_=1, to=20, width=5, font=("Arial", 12))
spinbox.pack(pady=5)

# زر لحساب السعر
زر_الحساب = tk.Button(window, text="حساب السعر", command=حساب_السعر)
زر_الحساب.pack(pady=10)

# مكان لعرض النتيجة
النتيجة = tk.Label(window, text="", font=("Arial", 12), fg="green")
النتيجة.pack(pady=5)

window.mainloop()

📝 نصائح إضافية:

  • يمكنك جعل السعر متغيرًا بإضافة حقل إدخال.
  • جرّب تغيير عدد القطع وحدود Spinbox.
  • أضف صورة أو تصميم بسيط لتجميل النافذة.

إرسال تعليق

0 تعليقات