نتعلم اليوم:
- تمنع المستخدم من تغيير حجم نافذة البرنامج.
- تسمح بتغيير الحجم في اتجاه معين فقط.
- تحدد الحد الأدنى أو الأقصى لحجم النافذة.
🧱 الدوال المستخدمة:
الوظيفة | الكود |
---|---|
منع تغيير الحجم | window.resizable(False, False) |
السماح بعرض فقط | window.resizable(True, False) |
السماح بالطول فقط | window.resizable(False, True) |
تحديد الحد الأدنى للحجم | window.minsize(العرض, الطول) |
تحديد الحد الأقصى للحجم | window.maxsize(العرض, الطول) |
✅ مثال تطبيقي:
import tkinter as tk
# إنشاء النافذة
window = tk.Tk()
window.title("نافذة ثابتة الحجم")
window.geometry("400x300")
# منع المستخدم من تغيير الحجم
window.resizable(False, False)
# رسالة داخل النافذة
tk.Label(window, text="لا يمكنك تغيير حجم هذه النافذة", font=("Arial", 12)).pack(pady=30)
window.mainloop()
✅ مثال آخر: السماح بعرض فقط، وتحديد الحد الأدنى والأقصى
import tkinter as tk
window = tk.Tk()
window.title("نافذة بحجم متغير جزئيًا")
window.geometry("500x400")
# السماح بتغيير العرض فقط
window.resizable(True, False)
# تعيين حدود الحجم
window.minsize(300, 300)
window.maxsize(800, 500)
tk.Label(window, text="يمكنك تغيير العرض فقط", font=("Arial", 12)).pack(pady=40)
window.mainloop()
💡 متى تستخدم هذه الخصائص؟
الحالة | الإجراء المناسب |
---|---|
تصميم واجهة ثابتة 100% | استخدم resizable(False, False) |
حماية التخطيط من التشوه عند التكبير | ضع حدود minsize() و maxsize() |
السماح بتكبير العرض لعرض بيانات أكثر | استخدم resizable(True, False) فقط |
✅ التمرين: "نافذة إعدادات بثابتة الحجم"
🎯 المطلوب:
- أنشئ نافذة بعنوان "إعدادات البرنامج".
- ضع داخلها رسالة توضح أن هذه النافذة لا يمكن تغيير حجمها.
- امنع المستخدم من تغيير العرض والطول.
- حدّد الحد الأدنى والحد الأقصى للحجم ليكونا متماثلين (مثلاً 400x300) لضمان الثبات.
🧾 الحل الكامل:
import tkinter as tk
# إنشاء النافذة
window = tk.Tk()
window.title("إعدادات البرنامج")
window.geometry("400x300")
# جعل الحجم ثابتًا
window.resizable(False, False)
# تحديد الحد الأدنى والحد الأقصى كقيمة واحدة لضمان الثبات
window.minsize(400, 300)
window.maxsize(400, 300)
# رسالة للمستخدم
message = tk.Label(window, text="هذه النافذة ثابتة الحجم ولا يمكن تغييرها.",
font=("Arial", 12), fg="darkblue")
message.pack(pady=80)
window.mainloop()
✅ النتيجة المتوقعة:
- نافذة لا يستطيع المستخدم تغيير أبعادها نهائيًا.
- حجمها ثابت: 400 عرض × 300 طول.
- رسالة تظهر في وسط النافذة.
0 تعليقات